Ogn*_*jen 2 asp.net-mvc html-helper
码:
<% foreach (var item in Model) { %>
<td>
<%= Html.Encode(item.BirthDate) %>
</td>
<% } %>
Run Code Online (Sandbox Code Playgroud)
显示:8/24/2009 12:00:00 AM但我只需要日期(2009年8月24日).可以在控制器动作中不进行任何格式化
有几种方法可以解决它.如果您使用的是MVC 2,则可以使用DisplayTemplate.只需将DateTime.ascx文件放在名为/ Views/Shared/DisplayTemplates的文件夹中,它所包含的代码行是:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %>
<%: Model.HasValue ? Model.Value.ToShortDateString() : string.Empty %>
Run Code Online (Sandbox Code Playgroud)
(注意:如果你使用<%:语法,那么你不需要Html.Encode(),因为<%:为你编写HTML编码 - 但这只是在你使用VS2010时.如果你正在使用MVC 2使用VS2008,然后坚持使用此部分的Html.Encode())然后在您的视图中,您只需执行此操作:
<%: Html.DisplayFor(m => m.BirthDate) %>
Run Code Online (Sandbox Code Playgroud)
这会将格式更改为仅在应用程序中包含所有 DateTime的日期.当然你也可以直接把它放在视图中.但DisplayTemplate也将为所有其他DateTime更改它,您不必在视图中关注它,因为它会自动发生.
| 归档时间: |
|
| 查看次数: |
6039 次 |
| 最近记录: |