Asp.net mvc 如何正确指定Html.TextBoxFor()的参数

Asp.net mvc 如何正确指定Html.TextBoxFor()的参数,asp.net-mvc,asp.net-mvc-2,view,Asp.net Mvc,Asp.net Mvc 2,View,对于模型类型为强类型的视图,此操作有效: <%: Html.TextBoxFor(x => x.MyModelField) %> x.MyModelField)%%> 这也有效: <%: Html.TextBoxFor(x => Model.MyModelField) %> Model.MyModelField)%%> 正确的方法是什么?为什么在这两种情况下都有效?指定lambda表达式的正确方法是使用第一种语法。第二种语法也得到了支持,可以工作,但感

对于模型类型为强类型的视图,此操作有效:

<%: Html.TextBoxFor(x => x.MyModelField) %>
x.MyModelField)%%>
这也有效:

<%: Html.TextBoxFor(x => Model.MyModelField) %>
Model.MyModelField)%%>

正确的方法是什么?为什么在这两种情况下都有效?

指定lambda表达式的正确方法是使用第一种语法。第二种语法也得到了支持,可以工作,但感觉更重,因为在闭包中捕获了
模型
实例。

你能告诉我第一个表达式中
x
是如何解析为
模型的吗?@artvolk,从asp.net开始引入了mvc 2强类型帮助程序:。一旦你输入了你的视图,它就会从中派生出一个属性
Html
,类型为
HtmlHelper
。现在,由于
TextBoxFor
HtmlHelper
的扩展方法,lambda表达式中的
x
指向模型。这更多的是关于泛型的问题,而不是关于ASP.NET MVC的问题。谢谢,达林!一针--一针,一如往常:)