之間的區別是什麼MVC HTML.Control和ControlFor(文本框,複選框等)之間的區別..HTML控件和controFor
2
A
回答
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
1
下面的文章介紹,一般的區別:
http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx
簡而言之,HTML.ControlFor是強類型的,它允許使用lambda表達式並自動將指定屬性的名稱作爲控件的名稱/標識。
2
For
版本的HTML幫助程序方法將屬性指定爲強類型的lambda表達式而不是字符串。
例如,下面的命令語句是等價的:
<%=Html.TextBox("Description") $>
<%=Html.TextBoxFor(m => m.Description) $>
但是,如果重命名Description
屬性,則TextBoxFor
通話將給出一個編譯器錯誤,而直到你訪問該TextBox
調用不會失敗頁。
相關問題
- 1. Html控件和asp.net網頁控件
- 2. 與asp.net控件和html控件混淆
- 3. 由@(Html。)生成的HTML控件和控件的區別?
- 4. 控制HTML控件
- 5. 文件上傳和其他html控件
- 6. HTML控件和服務器控件可以在單aspx頁面
- 7. asp回發問題和html控件
- 8. 使用javaScript和html的C#WebBrowser控件
- 9. Asp.net mvc控件和html幫助程序
- 10. 控件的HTML內容與Gridster和Knockout.js
- 11. GWT控件ID和HTML標準
- 12. HTML窗體和控件名稱
- 13. 禁用Html控件
- 14. AIR HTML控件setFocus
- 15. HTML控件中心
- 16. 更改HTML控件
- 17. HTML緩存控件
- 18. 服務器控件或HTML控件
- 19. html和PHP陣列控制
- 20. ngModel.setViewValue不更新html控件
- 21. .net WebBrowser控件修改html?
- 22. PDF中的HTML控件
- 23. VisualStudio.net中的HTML控件
- 24. ASP控件的HTML模板
- 25. 樣式HTML表單控件
- 26. 控件與標準HTML
- 27. asp.net:DetailsView控件不解釋html
- 28. 顯示HTML控件水平
- 29. HTML控件排列在rmarkdwon
- 30. HTML編輯器Cocoa控件