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

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

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

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

[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. 視圖中的代碼如下:
@model System.DateTime
@Model.ToString("yyyy/MM/dd")

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

<td>
    @Html.DisplayFor(modelItem => item.Date,"MyDate")
</td>

顯示結果: 2018/02/26

同樣約定的還有 EditorTemplates.

原文地址:https://www.cnblogs.com/keepee/p/8479052.html

时间: 2024-10-26 22:06:14

ASP.Net MVC 控制@Html.DisplayFor日期显示格式的相关文章

Asp.net MVC jqueryUI ie8 验证日期的问题

ie8下测试项目,发现datepicker验证时提示 xxx字段 必须是日期.问题曾经出现解决过,搜索以前项目找到一个jquery.validate.myplus.js文件,新项目中未加载 内容为jQuery.validator.methods.date = function (value, element) {    return this.optional(element) || (/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value));} 加载后验证通

[ASP.NET MVC2 系列] ASP.Net MVC教程之《在15分钟内用ASP.Net MVC创建一个电影数据库应用程序》

[ASP.NET MVC2 系列]      [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序>      [ASP.NET MVC2 系列] ASP.Net MVC教程之<ASP.NET MVC 概述>     [ASP.NET MVC2 系列] 理解MVC应用程序的执行过程     [ASP.NET MVC2 系列] ASP.NET MVC Routing概述      [ASP.NET MVC2

[转]ASP.NET MVC HtmlHelper扩展之Calendar日期时间选择

本文转自:http://blog.bossma.cn/asp_net_mvc/asp-net-mvc-htmlhelper-calendar-datetime-select/ 这里我们扩展HtmlHelper,就像它包含在ASP.NET MVC中一样,扩展方法使我们能为已有的类添加方法.这里使用了一个日期时间选择控件:My97DatePicker,需要添加到网站中,并在页面中引用. 先看看是怎么扩展的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

Asp.Net MVC 权限控制(二):Controller级别控制

续接上篇:Asp.Net MVC 权限控制(一):使用 Authorize Roles 简单实现 由于直接在Controller上标记角色名有很大的局限性,所以本示例使用 ActionFilterAttribute 进行权限拦截. 首先创建三类标记: 1. 匿名访问标记(AnonymousAttribute)2. 登录用户访问标记(LoginAllowViewAttribute)3. 权限验证访问标记(PermissionPageAttribute) 最重要的一个权限拦截:AuthorizeFi

asp.net mvc后台操作之读写xml控制首页动态页面开关显示

一.背景 在asp.net mvc项目里,用户需要开拓几个活动版面,并以侧栏的方式呈现在首页右侧,几个活动时间不一致,为避免浏览者在活动未开放之时进入未开放的服务页面.因此不仅需要在活动代码中加入限制功能,也需要在前台取消不合时宜的页面的展示.后台效果图: 二.问题分析 要想控制页面开关显示,就得有存储开关信息的介质,将在后台产生的操作记录下来,并在浏览者加载首页之时能读取操作记录并达到控制页面开关的目的.因此,考虑两种介质储存开关记录信息,一是用数据库mysql,二是用xml.考虑到这对数据库

在Asp.Net MVC中PartialView与EditorFor和DisplayFor的区别

相同之处: PartialView, EditorFor 和 DisplayFor 都可以用作来实现页面的公共部分,其他页面可以根据需求来引用. 不同之处: PartialView 是从Page的角度来处理,因此主 Page 和 PartialView 一般用相同的Model,这样做可以实现PartialView中所对应字段的编辑功能:如果PartialView使用的是主Page中Model的子Model,那么只能实现Partial View所对应Model的显示功能. 具体的引用方式为: @H

Asp.Net MVC 权限控制(一):使用 Authorize Roles 简单实现

最近由于项目的需要对权限控制做了几个Demo,贴出来供大家拍砖! 首先创建一个 BaseController ,让所有的Controller继承自BaseController . [Authorize] public class BaseController : Controller { } 系统登录需要一个 AccountController ,继承自BaseController ,并添加匿名访问标记 AllowAnonymous. AccountController 实现系统的登录功能,并将

Asp.Net MVC 权限控制(三):Controller和Action级别控制

续接上篇:Asp.Net MVC 权限控制(二):Controller级别控制 再次在重构!这次对Controller和Action进行验证. 思路:系统有很多功能集,功能集对应很多Controller和Action,角色分配很多功能集. 首先构建一个基础数据: 1.功能集初始化: /// <summary> /// 系统模块 /// </summary> public class SystemModule { public SystemModule() { this.ID = G

在ASP.NET MVC中实现基于URL的权限控制

本示例演示了在ASP.NET MVC中进行基于URL的权限控制,由于是基于URL进行控制的,所以只能精确到页.这种权限控制的优点是可以在已有的项目上改动极少的代码来增加权限控制功能,和项目本身的耦合度低,并且实现起来也比较简单.缺点是权限控制不够精确,不能具体到某一具体的按钮或者某一功能. 在数据库中新建2个表.PermissionItem表用于保存权限ID和页面路径的关系,一个权限ID可以有多个页面,一般同一个权限ID下的页面是为了实现同一个功能.PermissionList表用于保存用户所具