在MVC 3中使用AdditionalMetadata的示例

时间:2011-01-17 16:56:27

标签: asp.net-mvc asp.net-mvc-3 data-annotations

在asp.net MVC 3中,有一个新属性允许我们将额外的元数据传递给我们的视图,例如。

    [Required]
    [AdditionalMetadata("Tooltip", "The title of the item")]
    public string Title { get; set; }

问题是,我如何在我的视图中实际使用这些信息?我认为也许它会将数据呈现为html 5数据属性,但事实并非如此。

非常感谢一个简单的例子。

2 个答案:

答案 0 :(得分:17)

根据documentation

  

你可以使用   AdditionalMetadataAttribute类到   填充   ModelMetadata.AdditionalValues   模型属性的字典。

     

...

     

此元数据可供任何人使用   显示或编辑模板时   产品视图模型呈现。它是   由您作为应用程序开发人员   解释元数据信息。

所以让我们在视图中使用它:

<h2>
    @ModelMetadata.FromLambdaExpression(x => x.Title, ViewData).AdditionalValues["Tooltip"]
</h2>

答案 1 :(得分:0)

模板中的示例:

Object optionlabelOverride;
ViewData.ModelMetadata.AdditionalValues.TryGetValue("OptionLabelText", out optionLabelOverride);

您正在读取的变量必须是一个对象,然后可以对其进行强制转换。您在模型中设置的所有内容都可以作为ViewData使用。