5
ASP.NET MVC 3-部分与显示模板与编辑器模板
因此,标题应能说明一切。 要在ASP.NET MVC中创建可重用的组件,我们提供3个选项(可能是我未提及的其他选项): 部分视图: @Html.Partial(Model.Foo, "SomePartial") 自定义编辑器模板: @Html.EditorFor(model => model.Foo) 自定义显示模板: @Html.DisplayFor(model => model.Foo) 就实际的View / HTML而言,所有三个实现都是相同的: @model WebApplications.Models.FooObject <!-- Bunch of HTML --> 所以,我的问题是-您何时/如何决定使用这三个中的哪一个? 我真正想要的是在创建一个问题之前要问自己的问题列表,这些问题的答案可以用来决定要使用哪个模板。 这是我发现使用EditorFor / DisplayFor更好的两件事: 他们在呈现HTML助手时会尊重模型层次结构(例如,如果您的“ Foo”模型上有一个“ Bar”对象,则“ Bar”的HTML元素将使用“ Foo.Bar.ElementName”来呈现,而一部分将具有“ ElementName”)。 更加健壮,例如,如果List<T>ViewModel中包含a 之类的东西,则可以使用@Html.DisplayFor(model => model.CollectionOfFoo),并且MVC足够聪明,可以看到它是一个集合,并为每个项目呈现单个显示(与Partial相反,这需要显式环)。 我还听说DisplayFor呈现了一个“只读”模板,但是我不明白-我不能在上面扔表格吗? 有人可以告诉我其他原因吗?是否有清单/文章比较这三个地方?