为什么强类型的Html助手会帮助我?

Nic*_*ore 2 asp.net-mvc

我阅读了ScottGu关于强类型Html助手的解释,我理解它使我能够更好地编译时间检查视图.当我在MVC1 Html.TextBox帮助器中使用model.PropertyName时,我的印象是我已经有了这个,但显然这不是真的.那么,使用lambda表达式如何更好地为我做这件事?

Bra*_*bby 13

考虑现有HTML帮助器方法的语法:

<%= Html.TextBox("Quantity", Model.Quantity) %>
Run Code Online (Sandbox Code Playgroud)

如果将Quantity对象上的属性重命名为"CurrentQuantity",则生成的<input>元素仍将name="Quantity"指定,如果您不记得更改第一个参数,则模型绑定将中断.

通过使用lambda表达式指定元素的名称,不正确或拼写错误的属性名称将成为编译错误.

<!-- No magic strings here! -->
<%= Html.TextBoxFor(model => model.CurrentQuantity) %>
Run Code Online (Sandbox Code Playgroud)