我有自定义的html助手从视图中获取IEnumerable模型并生成带有标题和正文的html表
请告知如何从此模型中获取元数据
感谢
答案 0 :(得分:1)
如果我理解你正在尝试做什么,下面的内容应该是最少的反映:
public static MvcHtmlString MakeTable<TModel, TValue>(this HtmlHelper<TModel> html, IEnumerable<TValue> table)
{
var modelMetaData = ModelMetadataProviders.Current.GetMetadataForType(null, typeof(TValue));
foreach (TValue row in table)
{
//write out table
}
}
答案 1 :(得分:-1)
获取属性:
YourModel.GetType().GetProperties();
获取属性的名称:
property.Name;
获取属性的值:
var result = YourModel.GetType().InvokeMember("NameOfProperty", BindingFlags.GetProperty, null, YourModel, null);
可以在GitHub上的这个文件中找到一些更成熟的例子:https://github.com/jamestharpe/Rolcore/blob/master/src/Rolcore/Reflection/ObjectExtensions.cs