在asp.net MVC 3中,有一个新属性允许我们将额外的元数据传递给我们的视图,例如。
[Required]
[AdditionalMetadata("Tooltip", "The title of the item")]
public string Title { get; set; }
问题是,我如何在我的视图中实际使用这些信息?我认为也许它会将数据呈现为html 5数据属性,但事实并非如此。
非常感谢一个简单的例子。
答案 0 :(得分:17)
你可以使用 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使用。