So basically, what I want is to format DateTime in whole application and show it in a specific format in the whole Web App. Is there any better solution to just write ToString("{0:stringformathere}", obj)?

有帮助吗?

解决方案

Try to override InitializeCulture method for Web page.

Thread.CurrentThread.CurrentCulture = <some custom culture>

http://msdn.microsoft.com/en-us/library/bz9tc508.aspx

其他提示

You can create your own Editor/Display Template and reuse across the application.

Views/Shared/EditorTemplates/CustomDateTime.cshtml

@model DateTime?
@{
    String modelValue = "";
    var dateFormatToDisplay =
       System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern;

    if (Model.HasValue)
    {
        if (Model.Value != DateTime.MinValue)
        {
            modelValue = Model.Value.ToString(dateFormatToDisplay);
        }
    }
}

@Html.TextBox("", modelValue)

In Views

@Html.EditorFor(m => m.DateOfBirth, "CustomDateTime")
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top