剃刀 – 标签或@ 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与代码,在视图呈现时必须执行的代码有轻微的性能优势,尽管这不应该是决定性因素. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |