07-MVC的精髓-元数据
什么是元数据?
元数据是视图模型的数据结构的描述对象。它是用来描述视图的模型字段。
比如我们制定视图的@model 是Person 那么元数据就用来描述这个Person的一些属性。
通过元数据我们可以取得字段的一些标注。有了这些标注,我们就可以呈现html 或者验证字段等
我们在System.Web.Http.Metadata下面可以看到ModelMetadata的源码
通过ViewData我们其实可以取得数据的元数据,元数据本身是一个树状的结构
它有一个Properties属性,本身由是一个ModelMetadata 它用来描述这个字段的元数据。
08-EditorTemplates字段模板的定义
我们使用EditorForModel的时候,可以使用一行代码,就可以把整个表单呈现出来
但是如果我们想要给每个字段不一样的html表单控件的时候,就需要我们通过editorTemplates来指定每个字段使用不同的模型。
下面我们就来试一下把我们的Notic来指定它的UIHint 它会对应一个模板cshtml
了解 EditorForModel
它可以把整个表单呈现出来。
<form>
@Html.EditorForModel()
</form>Code language: HTML, XML (xml)
ModelMetadata.HideSurroundingHtml 属性
隐藏环绕它的html代码
当此属性与 DataAnnotationsModelMetadataProvider 模型元数据提供程序一起使用时,如果 HiddenInputAttribute 特性为 true 且 DisplayValue 属性设置为 false,则此属性设置为 true。
当此属性设置为 false 时,EditorFor 方法将 HTML div 元素呈现为模型的容器,并将 label 元素呈现为模型的标题。 当此属性设置为 true 时,不会呈现 div 和 label 元素。 当模板生成隐藏的 input 元素时,通常会使用此属性。
Previous: 06-HtmlHelper使用Lambda方式使用
Next: 标注