我有一個MVC3項目。我有2個模型班。讓我們稱他們爲FooYes和FooNo。MVC3 DataType.Date EditorFor輸出HTML中的錯誤類
我爲每個創建了控制器。
我爲兩者創建了CRUD視圖。
然後我實現了根據this link的jQuery DatePicker。我只實現了選擇器部分而不是驗證。
在我的FooYes edit.cshtml日期選擇器工作正常。在FooNo的edit.cshtml中沒有。
我發現的唯一的區別在於獲取輸出爲模特類:
FooYes看起來像這樣在最終的HTML:
<input class="date"
FooNo看起來是這樣的:
<input class="text-box single-line"
以下是FooYes的型號:
[Display(Name = "Creation Date")]
[DataType(DataType.Date)]
public virtual DateTime CreationDate { get; set; }
這裏是FooNo型號:
[Display(Name = "Expiration Date")]
[DataType(DataType.Date)]
public virtual DateTime ExpirationDate { get; set; }
正如你所看到的聲明是在模型一樣,所以不能吧。我甚至嘗試將FooNo中的ExpirationDate屬性複製並粘貼到FooYes中,然後將所有東西從FooNo複製到FooYes中的FooYes,然後工作。因此,這不是在模型
這裏的代碼是從.cshtml代碼:
<div class="editor-label">
@Html.LabelFor(model => model.CreationDate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.CreationDate)
@Html.ValidationMessageFor(model => model.CreationDate)
</div>
這和其他之間的唯一不同的是字段的名稱。
當我在最終結果中查看源代碼html時,標題,包含,鏈接等內容都完全相同,除非在不工作的類中將class =設置爲文本事物而不是日期。
我完全困惑。任何人有任何想法會導致這種情況?
LOL是全球性的,我有這樣的,只要我張貼的問題,我想弄清楚的感覺。剛剛發生。 問題是具有Date.cshtml局部視圖的EditorTemplates文件夾需要位於每個視圖/ {控制器} /文件夾中。 所以我有一個新的問題....有什麼辦法可以有一個全球的EditorTemplates文件夾,涵蓋所有我的控制器子文件夾? – user856232
你真的應該問一個新問題,以便人們可以在搜索時找到它。 StackOverflow是關於社區,並盡你所能。但是,DMac回答了你的問題。 –
如果你把模板放在Views \ Shared \ EditorTemplates中,那麼它會被所有的控制器選中:) –