我已經創建了一個默認的MVC 3項目(使用剃鬚刀),爲了演示一個問題。TextBoxFor vs EditorFor和htmlAttributes vs additionalViewData
在登錄頁面上,有一行:
@Html.TextBoxFor(m => m.UserName)
如果我更改爲:
@Html.TextBoxFor(m => m.UserName, new { title = "ABC" })
然後將它呈現爲(具有title屬性):
<input data-val="true" data-val-required="The User name field is required." id="UserName" name="UserName" title="ABC" type="text" value="" />
但是,如果我讓它成爲EditorFor:
@Html.EditorFor(m => m.UserName, new { title = "ABC" })
然後它被渲染(沒有title屬性)爲:
<input class="text-box single-line" data-val="true" data-val-required="The User name field is required." id="UserName" name="UserName" type="text" value="" />
因此,在總結,當我使用EditorFor title屬性丟失。
我知道TextBoxFor的第二個參數叫做htmlAttributes,對於EditorFor而言,它是additionalViewData,但是我見過的例子EditorFor可以呈現這個參數提供的屬性。
任何人都可以請解釋我做錯了什麼,以及如何使用EditorFor時我可以有一個標題屬性?
奇妙的是,我要問的確切問題。 – aknuds1 2011-12-13 14:30:05