其中一個新功能ASP.NET MVC 2預覽版是編輯模板的概念,並顯示模板,讓你可以支持預先定義給定對象將如何呈現的顯示或編輯用一個簡單的HTML助手呼籲:ASP.NET MVC 2 - 當使用模板VS何時使用局部視圖
<%=Html.EditorFor(customer => customer) %>
<%=Html.DisplayFor(customer => customer) %>
這是很酷,但我實在不明白這和部分觀點有異曲同工之妙的區別。此外,在示例中,我看到「編輯器模板」不包含實際的表單標記,並且如果需要爲給定編輯器提供某些客戶端功能(例如通過jQuery),我無法安全地將該代碼放入模板,因爲我不會在客戶端添加邏輯的表單上有一個靜態句柄。在我正在處理的應用程序中,我使用編輯模板和部分視圖的混合編輯內容。根據表單的複雜性,我創建了一個編輯器,因爲我選擇了另一種方法,但是這當然會給應用程序增加不希望的不一致程度。
爲什麼要使用模板在局部視圖或反之亦然?此外,使用編輯器模板時,將編輯器添加客戶端邏輯而不將其複製到使用該編輯器的每個視圖中的理想方式是什麼?
我看了谷先生的職位,並解釋說,EditorFor既可用於個人領域和全對象使用。我指的是上述情況中的後一種情況。 – 2009-08-20 20:38:18
噢好吧。他在帖子中說明了這一點的目的:「默認情況下,它會遍歷對象的公共屬性並生成一個元素,併爲它找到的每個屬性生成任何適當的驗證消息。」所以它會自動爲對象的所有屬性生成輸入。在對象上,您可以在屬性上設置UIHints以使用特定屬性的自定義控件。我會稍微更新我的答案。 – Runeborg 2009-08-20 22:14:27
所以說,當我調用EditorFor(SomeObject)時,我不需要顯式定義模板,只要不需要像處理自定義字段那樣執行任何特殊操作即可。 – 2009-08-20 23:57:03