刪除不可空值屬性的默認值在使用EditFor幫助器時,如何刪除默認添加到不可空屬性文本框的默認值?我不希望這樣的行爲當使用EditFor [asp.net mvc 3]
編輯
對不起,我沒有提供足夠的信息。
例如,如果使用Html.EditorFor屬性爲DateTime,它將自動將文本框值設置爲1/1/0001。如果使用「DateTime?」(可爲空),它不會,它只是將文本框留空。
刪除不可空值屬性的默認值在使用EditFor幫助器時,如何刪除默認添加到不可空屬性文本框的默認值?我不希望這樣的行爲當使用EditFor [asp.net mvc 3]
編輯
對不起,我沒有提供足夠的信息。
例如,如果使用Html.EditorFor屬性爲DateTime,它將自動將文本框值設置爲1/1/0001。如果使用「DateTime?」(可爲空),它不會,它只是將文本框留空。
你可以使用UIHint來做到這一點。
在EditorTemplates
@model DateTime
@{ var value = Model == default(DateTime) ? null : Model.ToShortDateString(); }
@Html.TextBox(string.Empty, value)
裝飾與UIHintAttribute參考我們的EditorTemplate你的財產創建一個名爲ShortDate.cshtml文件。考慮我的訂單類。
public class Order {
[UIHint("ShortDate")]
public DateTime Date { get; set; }
}
當您使用
@Html.EditorFor(x => x.Date)
應該避免的DateTime
警告的默認值:我只是做了簡單的測試,所以請大家深入探討它。
希望它可以幫助你
我不得不按照我自己的需要做這樣的事情。我用這個:
@model DateTime?
@Html.TextBox("", (Model.Value != default(DateTime) ? Model.Value.ToShortDateString() : string.Empty))
它對我的日期時間值非常好。沒有默認值的單元是空白的,並且具有其他DateTime值的單元格顯示對象的ShortDateString表示形式。
默認值是什麼?你的財產是什麼類型? – 2011-03-02 20:29:56
如果您的屬性類型是日期時間,默認情況下它將文本框的值設置爲1/1/0001,當使用html.editorfor – ryudice 2011-03-02 20:32:17