我有一个视图,我需要检测属性是否使用隐藏输入进行修饰。
我的财产定义为:
[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 :(得分:2)
答案 1 :(得分:0)
我对此问题的解决方案如下:
我创建了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;
}
这就是我所需要的一切