简单的问题;
什么时候应该使用自定义HTML帮助程序。我们是否应该(按照MVC的开发人员的意图)为在视图中重用的所有标记/逻辑实现一个Extention方法?
我对此感到好奇,因为我们目前有一个需要重构的中型项目。很多不同的实习生一直在研究这个问题,是时候进行清理了。
答案 0 :(得分:2)
使用Html Helper渲染Html元素。该元素可能包含内部元素,但您的帮助应该是最外层的元素。让我给你举个例子。比如,您想要渲染具有某些特定属性的“图像”按钮,以便您的图像按钮看起来像这样:
<button title="my button" onclick="onClickFunctionName()">
<img src="...." />
</button>
因此,具有以下签名的Html Helper非常有用:
@Html.ImageButton(title:"my button", onclickFunctionName:"onClickFunctionName", imageSource:"....")
与图像按钮相同,您可以使用Html Helper封装创建表。
如果要为某些部分布局封装一段html标记,则应使用部分视图。例如,部分视图可用于呈现具有用户名和密码的登录框以及记住我复选框。在这种情况下,使用HTML Helper不是一个好主意。
答案 1 :(得分:1)
在您希望链接与路由配置一起使用的情况下。您使用HTML属性。它的IHtmlHelper实例包含生成html片段的方法。你可以手动输入它们,但是这个html属性在幕后有一个逻辑,可以在你的应用程序中使用一些元数据或配置。此外,HTML Helpers了解MVC框架中的内置约定。