2012-04-21 69 views

回答

9

EditorFor的優點是它將嘗試呈現與數據類型關聯的編輯器。

例如:如果你設計自己的Editor Templates他們會自動根據屬性的類型或UIHint

一個有用的編輯模板可能是一個生成日期選擇器,當屬性的類型是一個DateTime渲染。

還有一些其他場景,以及在那裏當它與MultilineText

使用TextBoxFor和PasswordFor標記的屬性時呈現一個<textarea>的「智能」 EditorFor將生成的屬性這樣的例子是「最好的」編輯器對於那些你不需要「特殊編輯器」的情況來說,這是完全正確的。當必須設置HtmlAttributes時,它甚至可能會簡化您的生活。

+0

我想感謝這兩個答案。這些清除了整個事情。我接受了這個答案,因爲我已經指出的2個鏈接,很好的信息。 – 2012-04-21 05:44:47

6

爲明確這個疑問參考Differences between Html.TextboxFor and Html.EditorFor in MVC and Razor ..

的HtmlTextboxFor總是創建textbox (<input type="text" ...).

雖然EditorFor着眼於類型和元信息,並能 呈現另一種控制或模板你提供。

例如,對於DateTime屬性,可以創建一個 使用jQuery DatePicker的模板。

如果你決定改變一些東西到你的文本框的呈現方式就像一個div包裹它們的方面,你可以簡單地寫一個自定義編輯模板(~/Views/Shared/EditorTemplates/string.cshtml)和應用程序中的所有文本框會自動從這一變化而受益如果你有硬編碼Html.TextBoxFor,你將不得不在任何地方修改它。

相關問題