2011-06-26 66 views
0

在视情况与模型类型强类型工作的:如何正确指定参数Html.TextBoxFor()

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

这个工程太:

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

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

回答

0

指定lambda表达式的正确方法是使用第一种语法。第二种语法也支持并且可以工作,但是由于在关闭中捕获了Model实例,所以感觉较重

+0

你能指点我说明如何在第一个表达式中将'x'解析为'Model'? – artvolk

+1

@artvolk,从asp.net mvc 2开始引入强类型助手:['HtmlHelper '](http://msdn.microsoft.com/en-us/library/dd492619.aspx)。一旦你强烈地输入了你的视图,它就来自['ViewPage '](http://msdn.microsoft.com/en-us/library/dd470798.aspx),它又有一个'Html'类型的属性' HtmlHelper '。现在因为'TextBoxFor '是'HtmlHelper '的扩展方法,lambda表达式内的'x'指向模型。这更多的是关于泛型的问题,而不是与ASP.NET MVC有关的问题。 –

+0

谢谢Darin!一击 - 一如往常一击:) – artvolk