2013-05-24 3 views
2

Используя пример из ComboBox кендо в: (ASP.NET MVC | template.cshtml)Форматирование DateTime в MVC шаблона

@(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

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

+0

какой формат вы его используете i n dd/mm/yyyy? –

+0

http://docs.kendoui.com/getting-started/framework/globalization/dateformatting – Nick

ответ

0

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

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

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

"<dt>StartDate:</dt><dd>" + Date.parse('${ data.StartDate}').toString("M/d/yyyy") + "</dd>" + 
0

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

@model DateTime 

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

что бы изменить его повсеместно

source

Смежные вопросы