如何在<object> ASP .NET MVC 中从 IEnumerable 获取元数据?



我有自定义的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

相关内容

  • 没有找到相关文章

最新更新