Domanda

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)?

È stato utile?

Soluzione

Try to override InitializeCulture method for Web page.

Thread.CurrentThread.CurrentCulture = <some custom culture>

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

Altri suggerimenti

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")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top