2016-06-09 77 views
0

當我看到一箇舊MVC項目,下面的代碼將呈現與propriate造型一個文本框:EditorFor HTML幫助不採取類MVC

@Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "form-control" } }) 

但現在jQueryUI的正在使用的引導,而不是,我不得不再次手動添加Bootstrap並將相同的行添加到我的代碼中,但該類不會呈現。

,使其工作似乎唯一的辦法是使用:

@Html.TextBoxFor(model => model.License, new { @class = "form-control" }) 

HTML幫手。

EditorFor和TextBoxFor之間有很大的區別嗎?如果使用EditorFor代替TextBoxFor很重要,那麼我怎樣才能通過EditorFor HTML幫助器將引導類form-control添加到呈現的輸入中?什麼導致了這種情況,該類將不會在HTML助手的輸入元素上呈現?

+0

'@ Html.EditorFor()'只支持添加,如果你的使用MVC-5.1或更高版本的HTML屬性 –

+0

(它不是在MVC-4支持)怎麼來的我的Visual Studio在過去做過這樣的項目(對我來說可能),現在讓這些項目變得不可能呢? – Barrosy

+0

如果您使用MVC-4(標記爲),它永遠不會工作。如果你只是渲染''input type =「text」... />''EditorFor()'的唯一優點是將考慮到[DataType]屬性和屬性類型生成說'類型=「日期」等 –

回答

1

TextBoxFor:總是呈現像一個輸入文本框不受數據類型的屬性,它是與控制綁定。它創建一個如下的文本輸入:<input type="text" />

EditorFor:它根據屬性的數據類型呈現HTML標記。

兩者都會生成相同的標記。

你也可以看到這個帖子的說明:https://stackoverflow.com/a/4826185/3401842

+0

我期待這樣的答案。那麼我想用EditorFor代替TextBoxFor可能很重要,有沒有辦法將我之前引用的類添加到EditorFor rendered元素中? – Barrosy