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

时间:2012-09-21 14:04:40

标签: c# asp.net asp.net-mvc metadata html-helper

我有自定义的html助手从视图中获取IEnumerable模型并生成带有标题和正文的html表

请告知如何从此模型中获取元数据

感谢

2 个答案:

答案 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