2011-06-26 63 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