2011-02-15 42 views
0

我有以下編輯模板如何選擇是否使用MVC 3模板編輯

@model DateTime? 
@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datePicker" }) 

這個原因,每個日期時間?顯示爲「沒有小時」的ToShortDateString()和類datePicker。

但是,現在我有一些日期時間的情況?我需要一個小時。

問題是,如何禁用個別情況下的編輯器模板?或者有這種情況的解決方法。

感謝

回答

4

在你的模型,你可以使用UIHint屬性說要使用的編輯器模板。

所以,你可以創建一個新的editorfor並調用它像DateTimeWithHour,然後在你的模型將是這樣的(或一些更好的名字!):

[UIHint("DateTimeWithHour")] 
public DateTime SomeDateTime { get; set; } 

如果不指定UIHint它將默認爲你已經創建的日期時間編輯器。

1

您可以使用UIHintAttribute以逐個案例的方式應用不同的模板。 我想你也可以在ViewBag中傳遞一些額外的數據(即格式選項)。