前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.Net MVC 控制@Html.DisplayFor日期显示格式

ASP.Net MVC 控制@Html.DisplayFor日期显示格式

作者头像
DotNet Whisperer
发布2024-08-14 15:27:55
870
发布2024-08-14 15:27:55
举报
文章被收录于专栏:DotNet杂记

在做一個舊表的查詢頁時,遇到一個問題:

字段在db里存儲的是DATETIME,但保存的值只有日期,沒有時間數據,比如2018/2/26 0:00:00,顯示出來比較難看,

當然也可以做一個ViewModel,在字段上添加Attribute定義來更改名稱和顯示名稱,如下:

代码语言:javascript
复制
[Display(Name = "建立日期:")]  
[DisplayFormat(DataFormatString = "{0:yyyy年MM月dd日}")]  
public virtual System.DateTime CreateTime{ get; set;}  

這樣顯示出來的是:2018年2月26日。

但這樣對于一個舊表來說,太過麻煩,倒不如HtmlHelper的Template來得簡便。

網上找了一些方法卻都是錯誤的,經過修改實驗成功,以下步驟是正確的:

  1. 在 Views/Shared 文件夾建立 DisplayTemplates;(約定的名稱)
  2. 創建 MyDate.cshtml 視圖;(文件名即為約定的TemplateName)
  3. 視圖中的代碼如下:
代码语言:javascript
复制
@model System.DateTime
@Model.ToString("yyyy/MM/dd")

OK了,在需要轉換的地方添加 TemplateName 就可以了:

代码语言:javascript
复制
<td>
    @Html.DisplayFor(modelItem => item.Date,"MyDate")
</td>

顯示結果: 2018/02/26

同樣約定的還有 EditorTemplates.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档