Форматирование DateTime в шаблоне MVC

Используя пример из Kendo ComboBox: (ASP.NET MVC | template.cshtml)

@(Html.Kendo().ComboBox()
      .Name("customers")
      .DataTextField("ContactName")
      .DataValueField("CustomerID")
      .HtmlAttributes(new { style = "width: 400px" })
      .DataSource(source =>
      {
          source.Read(read =>
          {
              read.Action("GetCustomers", "Home");
          });
      })
      .Filter("startswith")
      .Height(300)
      .Template("<img src=\"" + Url.Content("~/Content/web/Customers/") + "${data.CustomerID}.jpg\" alt=\"${data.CustomerID}\" />" +
                        "<dl>" +
                            "<dt>Contact:</dt><dd>${ data.ContactName }</dd>" +
                            "<dt>Company:</dt><dd>${ data.CompanyName }</dd>" +
                        "</dl>")
)

Внутри шаблона, если вы хотите использовать значение, которое является DateTime, например ${data.StartDate}, вы получите что-то вроде этого: 2012-06-13T00:00:00

Каким должен быть синтаксис для форматирования в удобочитаемую дату внутри этого шаблона?


person webwires    schedule 24.05.2013    source источник
comment
в каком формате вы хотите это в dd/mm/yyyy?   -  person Rachel Gallen    schedule 24.05.2013
comment
docs.kendoui.com/getting-started/framework/globalization/   -  person Nick    schedule 24.05.2013


Ответы (2)


Быстрым и грязным решением было бы создать новое свойство, которое выводит вашу дату в виде строки.

Более правильным решением было бы передать вывод свойства функции форматирования даты javascript. Вы можете использовать что-то вроде date.js.

Добавьте этот код:

"<dt>StartDate:</dt><dd>" + Date.parse('${ data.StartDate}').toString("M/d/yyyy") + "</dd>" +
person Mark H    schedule 24.05.2013

Лучшим решением для форматирования вашей даты будет создание DisplayTemplate в Views/Shared/DisplayTemplates/DateTime.cshtml.

    @model DateTime

    @String.Format("{0:dd/MM/yyyy}", Model))

это изменило бы его повсеместно

источник

person Rachel Gallen    schedule 24.05.2013