剃刀 – 标签或@ html.Label ASP.net MVC 4

前端之家收集整理的这篇文章主要介绍了剃刀 – 标签或@ html.Label ASP.net MVC 4前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
新手到ASP.net MVC 4,试图弄清剃刀.如果我想在.cshtml页面显示一些文本,可以使用
<label class="LabelCSSTop">Introduction</label>

或者我应该使用:

@Html.Label("STW",htmlAttributes: new { @class = "LabelCSSTop" })

不确定一个人是否优先于另一个,或者是否可以.如果后者放弃标签标签,我应该坚持前者吗?

再次,如果我只想显示一个文本框,我可以这样做:

< input id =“txtName”type =“text”/>

或者我应该这样做:

@ Html.TextBox(“txtName”,“”)

有什么情况,当我应该使用@Html超过常规的html标签

提前致谢!!

解决方法

在你的标签片段的情况下,这并不重要.我会去更简单的语法(纯HTML).

大多数帮助方法也不允许您包围另一个元素.这可以在选择使用/不使用时考虑.

强大的等价物

但是,值得注意的是你使用@Html.[Element]对于< T>()方法,您获得了重要的功能.注意方法名称末尾的“For”.

例:

@Html.TextBoxFor( o => o.FirstName )

这将根据对象层次结构处理ID / Name创建(这对于模型绑定至关重要).它还将添加不显眼的验证属性.这些方法使用一个表达式作为引用模型中的属性的参数.该属性的元数据是通过MVC框架获得的,因此它比其字符串参数对应方“知道”更多的属性.

它还允许您以强类型方式处理UI代码. Visual Studio将突出显示语法错误,而不能使用字符串.视图也可以随解决方案一起编译,允许进行其他编译时检查.

其他注意事项

偶尔,一个HTML帮助器方法也将执行其他有用的任务,比如Html.CheckBox和Html.CheckBoxFor,它也创建一个隐藏的字段来与复选框一起使用.另一个例子是路由感知的URL相关方法(例如超链接).

<!-- bad -->
<a href="/foo/bar/123">my link</a>

<!-- good -->
@Html.ActionLink( "my link","foo","bar",new{ id=123 } )

<!-- also fine (perhaps you want to wrap something with the anchor) -->
<a href="@Url.Action( "foo",new{ id=123 } )"><span>my link</span></a>

使用纯HTML与代码,在视图呈现时必须执行的代码有轻微的性能优势,尽管这不应该是决定性因素.

原文链接:https://www.f2er.com/html/224709.html

猜你在找的HTML相关文章