作为MVC和Razor的新手,我想知道与使用Razor synetx相比,使用标准html标签生成HTML控件有什么不同。
HTML标记示例:
<input type="hidden" id="hidden1"/>
<input id="txtSearch" type="text" class="content-box span3" name="Keywords" placeholder="Keywords">Razor标签示例:
@(Html.Hidden("hfType"))
<input type="text" id="txt" class="txt1"/>有什么不同吗?还是说这只是做同样事情的两种方式。在哪种情况下,我应该选择哪种方式。我非常感谢您的指导。
发布于 2013-11-26 05:53:17
它们被称为HTML帮助程序。它们只是提供了方便的方法。它对嵌套属性的命名特别有帮助。它们还可以提供对模型的元数据的访问,比如验证和标签。
另一个好处是属性字符串将被正确转义。它消除了这种糟糕的模式。
<a href="@someValue">Test</a>发布于 2013-11-26 05:55:32
与Razor相比,您更多地是在谈论HTML助手。随着时间的推移,对HTML helpers的欣赏也随之而来。
手工编写和重写超文本标记语言非常耗时,而且不遵循DRY principle。你最终会得到到处都是非常相似的代码,如果你需要修改它,那么在一个更大的应用程序中它可能会成为一个噩梦。
相关:我问了Are HTML helpers worth using with complex markup?
我现在比以往任何时候都更多地使用HTML助手。
https://stackoverflow.com/questions/20204071
复制相似问题