簡體   English   中英

Html.EditorFor和自定義格式

[英]Html.EditorFor and custom format

我的模型中有一個屬性是DateTime 如果屬性包含DateTime.MinValue我想得到一個空的<input /> (而不是包含'0001-01-01 00:00:00'的那個)。

那可能嗎?

我發現為我工作的一個解決方案是添加強類型的局部視圖(對於System.DateTime )並將其放在Views/Shared/EditorTemplates目錄中。 File DateTime.cshtml看起來非常像這樣:

@model System.DateTime
@Html.TextBox("", Model == DateTime.MinValue ? "" : Model.ToShortDateString())

但是,這將格式化所有DateTime字段。

更多信息可以發現這個文章。

編寫擴展幫助方法:

public static class DateTimeHelper
{
    public static string MyEditor(this HtmlHelper helper, DateTime date)
    {
        if (date.Equals(DateTime.MinValue))
        {
            // return your an empty input: helper.TextBox ...
        }
        // return helper.EditorFor your datetime
    }
}

然后,從你看來:

<%= Html.MyEditor(Model.YourDateTimeField) %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM