Html.Textbox和Html.TextboxFor有什么区别?
发布于 2011-05-06 16:15:55
最终,它们都产生相同的超文本标记语言,但是Html.TextBoxFor()是强类型的,而Html.TextBox不是。
1: @Html.TextBox("Name")
2: Html.TextBoxFor(m => m.Name)都会产生
<input id="Name" name="Name" type="text" />那么,这在使用方面意味着什么呢?
通常有两件事:
TextBoxFor将为您生成输入名称。这通常只是属性名,但是对于复杂类型的属性可以包含下划线,例如'customer_name'TextBoxFor版本将允许您使用编译时检查。因此,如果您更改了模型,则可以检查视图中是否有任何错误。通常认为,使用added in MVC2的强类型版本的HtmlHelpers是更好的做法。
发布于 2011-05-06 16:08:44
TextBoxFor是MVC2中引入的一个较新的MVC输入扩展。
新的强类型扩展的主要好处是在编译时而不是运行时显示任何错误/警告。
请参阅此页面。
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
发布于 2011-05-06 16:13:58
主要区别在于Textbox不是强类型的。TextboxFor接受一个lambda作为参数,该参数告诉helper模型的with元素要在类型化视图中使用。
您可以对两者执行相同的操作,但应尽可能使用类型化视图和TextboxFor。
https://stackoverflow.com/questions/5908523
复制相似问题