人们如何使用编辑器/显示模板与Html Helpers?
想知道如何以及何时人们使用编辑器/显示模板与Html Helpers。具体来说,我在谈论它在渲染不同的UI控件而不是渲染实体时的使用。人们如何使用编辑器/显示模板与Html Helpers?
举例来说,我有类似如下的ATM:
<tr>
<th><%= Html.LabelFor(x => x.ActivityTypeId) %></th>
<td><%= Html.EditorFor(x => x.ActivityTypeList, "MultiSelectDropDownList")%></td>
</tr>
<tr>
<th><%= Html.LabelFor(x => x.Name) %></th>
<td><%= Html.EditorFor(x => x.Name) %></td>
</tr>
<tr>
<th><%= Html.LabelFor(x => x.Description) %></th>
<td><%= Html.DisplayFor(x => x.Description, "DisplayString")%></td>
</tr>
但最近我想知道如果我应该这样做:
<tr>
<th><%= Html.LabelFor(x => x.ActivityTypeId) %></th>
<td><%= Html.MultiSelectDropDownList(x => x.ActivityTypeList)%></td>
</tr>
<tr>
<th><%= Html.LabelFor(x => x.Name) %></th>
<td><%= Html.EditorFor(x => x.Name) %></td>
</tr>
<tr>
<th><%= Html.LabelFor(x => x.Description) %></th>
<td><%= Html.DisplayString(x => x.Description)%></td>
</tr>
但是,如果我用这个第二个选项去是否有很多使用中间编辑器的要点......我只是使用Html.Textbox而已,并且能够设置我喜欢的任何html属性。
我感兴趣的是什么样的人在这里使用...任何想法?
干杯 安东尼
EditorFor和DisplayFor是MVC 2的最有力的方面,在我看来,应使用和滥用尽可能。
跃过布拉德·威尔逊博客,并检查了如何扩展对象模板快速从的ViewModels饰属性鞭打根据惯例屏幕: http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-5-master-page-templates.html
我使用这种技术在当前项目到目前为止,还没有为单个屏幕编写一行HTML。 :D
我非常喜欢第二个。
它的优雅和释放您从buggous串:)
我已经修改了(实际上,在修改的过程中)的T4 Edit
,Create
,并View
模板吐出我想要的代码。该代码不使用任何DisplayFor
或EditorFor
方法。我还没有挖掘出这些方法的代码,但我相当肯定你会看到一些反射在那里发生。我修改的模板目前生成TextBoxFor
,DropDownListFor
和CheckBoxFor
。
如果您愿意,您可以使用jfar提到的Brad Wilson文章中的方法。至少我会让模板为每个字段使用DisplayFor
或EditorFor
吐出代码,以便稍后返回时可以更改为特定的编辑器,并为输入字段添加任何必需的属性。