【问题标题】:Format a DateTime in a MVC Template在 MVC 模板中格式化 DateTime
【发布时间】:2013-05-24 17:59:34
【问题描述】:

使用 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

将其格式化为该模板内的可读日期的语法是什么?

【问题讨论】:

标签: internationalization kendo-asp.net-mvc


【解决方案1】:

快速而肮脏的解决方案是创建一个将日期输出为字符串的新属性。

更正确的解决方案是将属性的输出提供给 javascript 日期格式化函数。你可以使用date.js之类的东西。

添加此代码:

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

【讨论】:

    【解决方案2】:

    日期格式的最佳解决方案是在 Views/Shared/DisplayTemplates/DateTime.cshtml 中创建一个 DisplayTemplate

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

    这将彻底改变它

    source

    【讨论】:

      猜你喜欢
      • 2010-11-13
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 2013-09-14
      • 2011-03-28
      相关资源
      最近更新 更多