Asp.net-Mvc-2覆蓋
覆蓋 Html.EditorFor 上的類
預設情況下
<%: Html.EditorFor(m => m.ConfirmationHeadline) %>輸出是:
<input type="text" value="" name="ConfirmationHeadline" id="ConfirmationHeadline" class="text-box single-line">如您所見,輸入已經附加了一個
class屬性。好吧,這應該不是問題,只需使用<%: Html.EditorFor(m => m.ConfirmationHeadline, new { @class="span-11 last"}) %>並且應該工作……錯誤……不!
這將輸出完全相同的程式碼!
不過,可以正常使用
Html.TextAreaFor()我怎樣才能
text-box single-line從曾經出現的類中刪除,以便可以附加我自己的類?我應該編輯任何 T4 模板嗎?謝謝大家的幫助。
EditorFor通過該方法使用內置編輯器模板時,無法自定義發出的類屬性的值。它對類值進行硬編碼(此處提供更多資訊:http: //bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html)你有兩個選擇:
- 編寫您自己的支持額外功能的自定義模板。在這裡查看更多詳細資訊:http: //bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-4-custom-object-templates.html
- 處理方法的輸出
EditorFor:<%: new HtmlString(Html.EditorFor(m=>m.ConfirmationHeadline).ToString() .Replace("class=\"text-box single-line\"", "class=\"text-box single-line span-11 last\"")) %>