Asp.net mvc 3 如何在代码中检测属性是否用HiddenInput修饰
我有一个视图,需要在其中检测属性是否用隐藏输入装饰 我的财产定义为:Asp.net mvc 3 如何在代码中检测属性是否用HiddenInput修饰,asp.net-mvc-3,Asp.net Mvc 3,我有一个视图,需要在其中检测属性是否用隐藏输入装饰 我的财产定义为: [HiddenInput(DisplayValue = false)] public string UserName{ get; set; } 到目前为止,我的努力是: var column.Member = "UserName"; if (ViewData.ModelMetadata.HideSurroundingHtml == true && ViewData.Values.Contain
[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;
}
我已经读到,我可能能够使用“hidesurroundingtml”来确定是否不应显示该属性
您知道如何检测此属性吗?您可以使用反射来查看特定属性是否具有属性
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;
}
看
在各种答案中,用户还需要创建一个扩展方法来检查属性是否具有特定属性。希望能有所帮助我对这个问题的解决方案如下: 我已经创建了html帮助程序,它为我提供了一个名称数组,其中的属性已经用“HiddenInput”属性修饰过
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;
}
public静态字符串[]GetListofHiddenProperties for(此HtmlHelper HtmlHelper)
{
类型t=类型(t);
var propertyInfos=t.GetProperties()
.Where(x=>Attribute.IsDefined(x,typeof(HiddenInputAttribute)))
.Select(x=>x.Name).ToArray();
归还财产;
}
这就是我所需要的