0
在視情況與模型類型強類型工作的:如何正確指定參數Html.TextBoxFor()
<%: Html.TextBoxFor(x => x.MyModelField) %>
這個工程太:
<%: Html.TextBoxFor(x => Model.MyModelField) %>
什麼是正確的方式爲什麼它在兩種情況下都有效?
在視情況與模型類型強類型工作的:如何正確指定參數Html.TextBoxFor()
<%: Html.TextBoxFor(x => x.MyModelField) %>
這個工程太:
<%: Html.TextBoxFor(x => Model.MyModelField) %>
什麼是正確的方式爲什麼它在兩種情況下都有效?
指定lambda表達式的正確方法是使用第一種語法。第二種語法也支持並且可以工作,但是由於在關閉中捕獲了Model
實例,所以感覺較重。
你能指點我說明如何在第一個表達式中將'x'解析爲'Model'? – artvolk
@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有關的問題。 –
謝謝Darin!一擊 - 一如往常一擊:) – artvolk