我有自定义的html助手,它从视图中获取IEnumerable模型并生成带有标题和正文的html表
请告知如何从此模型获得 MATADATA
谢谢
如果我理解您正在尝试正确执行的操作,则以下内容应该以最少的反射工作:
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
}
}
获取属性:
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