2010-04-25 35 views

回答

2

一個是強類型的。如果您有希望與屬性「客戶名稱」類型客戶的模型視圖,你可以用任何一種方式

<%=Html.Label("CustomerName") %> 

<%=Html.LabelFor(a => a.CustomerName) %> //strongly typed 

採用第二種方法(lambda表達式),就避免了神奇的字符串渲染的價值。您還可以檢查ModelMetadata以執行其他自定義。

閱讀有關模型元數據在這裏:

http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-2-modelmetadata.html

2

For版本的HTML幫助程序方法將屬性指定爲強類型的lambda表達式而不是字符串。

例如,下面的命令語句是等價的:

<%=Html.TextBox("Description") $> 
<%=Html.TextBoxFor(m => m.Description) $> 

但是,如果重命名Description屬性,則TextBoxFor通話將給出一個編譯器錯誤,而直到你訪問該TextBox調用不會失敗頁。