在该View中,我们直接调用HtmlHelper<Model>的EditorForModel方法将Foo对象以编辑模式呈现出来。 1: @model Foo 2: @{ 3: ViewBag.Title = "Index"; 4: } 5: @Html.EditorForModel() 现在我们直接运行该 DisplayTextAttribute.SetResourceType(typeof(Resources)); 8: } 9: } 现在我们通过调用HtmlHelper<TModel>的EditorForModel
由于Contact的Address属性是一个复杂类型,所以不会出现在调用EditorForModel方法呈现的HTML中,所有还需要调用EditorFor将该属性显示呈现出来。 1: @model Contact 2: @using(Html.BeginForm()) 3: { 4: @Html.EditorForModel() 5: @ 错误消息在EditForModel方法中的呈现 在一个强类型View中调用HtmlHelper<TModel>的扩展方法EditorForModel将整个Model对象以编辑模式呈现出来时,如果某个属性对应的 } 10: } 下面的代码片断代表了Action方法Index对应的View的定义,该View的Model类型为Contact,我们仅仅简单地调用HtmlHelper<TModel>的扩展方法EditorForModel 1: @model Contact 2: @Html.EditorForModel() 当我们成功运行该程序的时候会在浏览器中呈现出如下图所示的效果,我们可以 看到在每个属性对应的文本框后面,相应的错误消息被显示出来
如下面的代码片断所示,这是一个Model类型为Contact的强类型View,在该View中我们直接调用HtmlHelper<TModel>的扩展方法EditorForModel将作为Model的Contact ViewBag.Title = Model.Name; 4: } 5: 6: @using (Html.BeginForm()) 7: { 8: @Html.EditorForModel
4: } 5: @Html.ValidationSummary(true) 6: @using (Html.BeginForm()) 7: { 8: @Html.EditorForModel
2: @{ 3: Layout = null; 4: } 5: @using (Html.BeginForm()) 6: { 7: @Html.EditorForModel
1: @model MvcApp.Models.LoginInfo 2: @using (Html.BeginForm()) 3: { 4: @Html.EditorForModel
set; } 25: } 我们的View很简单,如下面的代码片断所示,这是一个Model类型为Contact的强类型View,在该View中我们直接调用HtmlHelper<TModel>的扩展方法EditorForModel ViewBag.Title = Model.Name; 4: } 5: 6: @using (Html.BeginForm()) 7: { 8: @Html.EditorForModel
Html.BeginForm()) 11: { 12: @Html.ValidationSummary(true) 13: @Html.EditorForModel } 11: @using (Ajax.BeginForm(options)) 12: { 13: @Html.EditorForModel
1: @model Person 2: @using (Html.BeginForm()) 3: { 4: @Html.EditorForModel() 5:
m => m.Bar) @Html.LabelFor(m => m.Baz) @Html.EditorFor (m => m.Baz) //第三种形式 @model DemoModel @Html.EditorForModel
= "Index"; 5: } 6: 7:
18
这两个类型的功能都是围绕着如何生成前端所需要的HTML结构和一些常用的UI元素; 但是这两个类型所能做的事情很有限,它们只是庞大生成功能的核心模型;我们使用的都是围绕着这两个类型的扩展方法,如: @Html.EditorForModel
在一个以此Contact为Model类型的View中,如果我们调用HtmlHelper<TModel>的扩展方法EditorForModel,最终会生成如下一段HTML。
SignIn"; 7: } 8: @Html.ValidationSummary() 9: @using(Html.BeginForm()) 10: { 11: @Html.EditorForModel
using (Html.BeginForm("Edit", "HomePage", FormMethod.Post)) 16 { 17 @Html.EditorForModel "Submit" /> 21 } 22 23 视图分别对Customer类型的嵌套属性进行了编辑、显示定义,这里需要说明的是EditorForModel
1: @model Person 2: @using (Html.BeginForm()) 3: { 4: @Html.EditorForModel() 5:
7: { 8: @ViewBag.Messages 9: } 10: @using (Html.BeginForm()) 11: { 12: @Html.EditorForModel
我们直接调用HtmlHelper<TModel> 的扩展方法EditorForModel将作为Model的Person对象以编辑模式呈现在表单之中。