MVC使用AdditionalMetadata为Model属性添加额外信息
当需要为Model的属性添加一些额外信息的时候,使用[AdditionalMetadata("somekey", "some content")]是不错的选择,MVC内部把键值信息赋值给了ModelMetadata.AdditionalValues属性。那么,在视图中如何获取该属性的ModelMetadata呢?
ModelMetadata提供的静态方法FromLambdaExpression()可以根据属性和ViewData获取到该属性的ModelMetadata:
在Model中为某属性打上AdditionalMetadata特性:
using System.Web.Mvc; namespace MvcApplication1.Models { public class WorlCup { [AdditionalMetadata("k", "2014巴西世界杯参赛队伍名称")] public string TeamName { get; set; } } }
在视图中:
@model MvcApplication1.Models.WorlCup @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>Index</h2> @ModelMetadata.FromLambdaExpression(x => x.TeamName, ViewData).AdditionalValues["k"] @Html.EditorFor(x => x.TeamName)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。