2012-04-02 5 views
5

プロパティが隠れた入力で装飾されているかどうかを検出する必要があるビューがあります。プロパティがHiddenInputで装飾されているかどうかをコードで検出する方法

私の財産は次のように定義されています。私の試みは、これまでされてい

[HiddenInput(DisplayValue = false)] 
public string UserName{ get; set; } 

var column.Member = "UserName"; 

if (ViewData.ModelMetadata.HideSurroundingHtml == true && 
     ViewData.Values.Contains(column.Member)) 
{       
    column.Visible = false; 
} 

私はプロパティが必要があるかどうかを決定するために、「HideSurroundingHtml」を使用することができるかもしれないことを読んだことがあります表示されません。

これを検出する方法はありますか?

答えて

0

私の解決策があるのに役立ちます願っています。

public static string[] GetListOfHiddenPropertiesFor<T>(this HtmlHelper htmlHelper) 
     { 
      Type t = typeof(T); 
      var propertyInfos = t.GetProperties() 
           .Where(x => Attribute.IsDefined(x, typeof(HiddenInputAttribute))) 
           .Select(x => x.Name).ToArray(); 
      return propertyInfos; 
     } 

これは私が

を必要なすべてのです
2

リフレクションを使用して、特定のプロパティに属性があるかどうかを確認できます。

this questionをご覧ください。

また、ユーザーがposted a snippetに応答して、プロパティに特定の属性があるかどうかを確認する拡張メソッドを作成することもできます。

私は私に「HiddenInput」属性で修飾されたプロパティを持つ名前の配列を与えるHTMLヘルパーを作成している:それは次のようにこの問題へ

関連する問題