在剃刀,如果我有這樣的事情:Addind CSS類剃刀元素
@Html.EditorFor(model => model.name)
甚至:@Html.CheckBoxFor(m => m.RememberMe)
如何將添加CSS類或ID給他們?我一直在閱讀關於幫手的內容,但是我需要爲每一個元素做一個幫手嗎?有沒有簡單的方法來添加一個類或ID剃鬚刀的形式元素?
在剃刀,如果我有這樣的事情:Addind CSS類剃刀元素
@Html.EditorFor(model => model.name)
甚至:@Html.CheckBoxFor(m => m.RememberMe)
如何將添加CSS類或ID給他們?我一直在閱讀關於幫手的內容,但是我需要爲每一個元素做一個幫手嗎?有沒有簡單的方法來添加一個類或ID剃鬚刀的形式元素?
你不能做到這一點與EditorFor
幫手,只是因爲你不知道什麼模板將被使用。你可以實現它,但你需要編寫一個自定義編輯器模板。例如,這可以通過覆蓋default editor template
並考慮表示附加視圖數據的第二參數來實現。
這裏有這樣一個自定義編輯模板,如何能尋找字符串類型(~/Views/Shared/EditorTemplates/string.cshtml
)的例子:
@Html.TextBox(
"",
ViewData.TemplateInfo.FormattedModelValue,
ViewData
)
,然後你可以使用它像:
@Html.EditorFor(model => model.name, new { @class = "myclass" })
隨着CheckBoxFor幫手你可以這樣做:
@Html.CheckBoxFor(m => m.RememberMe, new { @class = "myclass" })
因爲EditorFor
不是特定於類型的,所以不能在這些類型上使用它。
爲CheckBoxFor
,你可以使用:
@Html.CheckBoxFor(m => m.RememberMe, new { @class = "myClass", id = "myID" })
注意@
class
之前,因爲這是在C#中保留關鍵字
這不適用於EditorFor。它的第二個論點並不符合大多數人的看法。 –
@DarinDimitrov好的留言,更新。 – mattytommo
CheckboxFor很容易,你c一個是這樣的:
@Html.CheckBoxFor(m => m.RememberMe, new { @class="your_class", @id="the_id" })
EditorFor有點棘手,因爲它不支持開箱即用。我的意思是你可以爲每種類型創建一個模板,然後做一個TextBoxFor添加html屬性(與CheckBoxFor相同的語法)。您可能需要爲您想要支持的每種類型執行此操作。
啊,我該退休了嗎?你現在都在這個地方:)直到我發佈我的東西纔看到你的答案。 –
@vonv。,然而,即使發佈2分鐘後,它也是你的投票:-) –
有了這篇博客文章,因爲它指出了MVC2的MVC3工作? – TheWebs