首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

绑定时的格式化日期(ASP.NET MVC)

在ASP.NET MVC中,绑定时的格式化日期通常是通过数据注解(Data Annotations)或模型绑定(Model Binding)来实现的。以下是一个简单的示例,展示了如何在ASP.NET MVC中实现绑定时的格式化日期:

  1. 首先,在Model类中定义一个日期属性:
代码语言:csharp
复制
public class Person
{
    public int Id { get; set; }

    [Display(Name = "Birth Date")]
    [DataType(DataType.Date)]
    public DateTime BirthDate { get; set; }
}
  1. 在View中,使用Html.EditorFor()方法来渲染日期输入框:
代码语言:html
复制
@Html.EditorFor(model => model.BirthDate)
  1. 在Model类中添加一个自定义的模型绑定器,用于处理日期格式:
代码语言:csharp
复制
using System.Globalization;
using System.Web.Mvc;

public class DateTimeModelBinder : DefaultModelBinder
{
    public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        var displayFormat = bindingContext.ModelMetadata.DisplayFormatString;
        var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);

        if (value != null && !string.IsNullOrEmpty(value.AttemptedValue))
        {
            DateTime date;
            if (DateTime.TryParseExact(value.AttemptedValue, displayFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
            {
                return date;
            }
        }

        return base.BindModel(controllerContext, bindingContext);
    }
}
  1. 在Global.asax文件中注册自定义模型绑定器:
代码语言:csharp
复制
using System.Web.Mvc;

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);

        ModelBinders.Binders.Add(typeof(DateTime), new DateTimeModelBinder());
    }
}

这样,在ASP.NET MVC中绑定时的格式化日期就实现了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

    在做一個舊表查詢頁時,遇到一個問題: 字段在db里存儲是DATETIME,但保存值只有日期,沒有時間數據,比如2018/2/26 0:00:00,顯示出來比較難看, 當然也可以做一個ViewModel...,在字段上添加Attribute定義來更改名稱和顯示名稱,如下: [Display(Name = "建立日期:")] [DisplayFormat(DataFormatString = "{0:yyyy...但這樣對于一個舊表來說,太過麻煩,倒不如HtmlHelperTemplate來得簡便。...網上找了一些方法卻都是錯誤,經過修改實驗成功,以下步驟是正確: 在 Views/Shared 文件夾建立 DisplayTemplates;(約定名稱) 創建 MyDate.cshtml 視圖;(...文件名即為約定TemplateName) 視圖中代碼如下: @model System.DateTime @Model.ToString("yyyy/MM/dd") OK了,在需要轉換地方添加 TemplateName

    8110

    Flutter中日期格式化日期日期选择器组件在

    今天我们来聊聊Flutter中日期日期选择器。...有些情况下,后台可能会将所有的时间都转换成时间戳返回给我们前端,这是我们就需要将时间戳转换成时间,并将时间进行格式化。...: DateTime(1980), //日期选择器上可选择最早日期 lastDate: DateTime(2100), //日期选择器上可选择最晚日期 ).then((selectedValue...firstDate: DateTime(1980), //日期选择器上可选择最早日期 lastDate: DateTime(2100), //日期选择器上可选择最晚日期...上面我介绍了系统给我们提供日期时间选择器,但是有时候系统提供选择器并不符合我们要求,这时我们就可以到pub.dev上去寻找符合我们要求日期选择器。

    25.7K52

    sql日期格式化「建议收藏」

    sql日期格式化转化 1. DATE_FORMAT() 函数用于以不同格式显示日期/时间数据。...DATE_FORMAT(date,format) %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀月中天 %d 月天,数值(00-31) %e 月天,数值(0-31...%u 周 (00-53) 星期一是一周第一天 %V 周 (01-53) 星期日是一周第一天,与 %X 使用 %v 周 (01-53) 星期一是一周第一天,与 %x 使用 %W 星期名...%w 周天 (0=星期日, 6=星期六) %X 年,其中星期日是周第一天,4 位,与 %V 使用 %x 年,其中星期一是周第一天,4 位,与 %v 使用 %Y 年,4 位 %y 年,2...我们使用 NOW() 来获得当前日期/时间: DATE_FORMAT(NOW(),’%b %d %Y %h:%i %p’) DATE_FORMAT(NOW(),’%m-%d-%Y’) DATE_FORMAT

    1.4K20

    ASP.NET MVCAction Filter

    一年前写了一篇短文ASP.NET MVC Action Filters,整理了Action Filter方面的资源,本篇文章详细描述Action Filter。...ASP.NET MVC Framework支持四种不同类型Filter: Authorization filters – 实现IAuthorizationFilter接口属性....从广义上来说,在ASP.NET MVC Framework中,任何实现filter类型都是action filter。...下面我们来介绍一个如何自定义一个Action Filter,这个示例代码来自ASP.NET MVC 2示例Tailspin Travel,实现功能是Action执行时间,页面经常需要一个当前页面执行时间功能...,这是一个非功能性需求,ASP.NET MVC上就可以使用自定义ActionFilter来实现,从上面的介绍,就知道我们需要重写OnActionExecuting和OnActionExecuted方法

    1.8K100

    ABP入门系列(8)——Json格式化

    MvcJsonResult Asp.net mvc中默认提供了JsonResult来处理需要返回Json格式数据情况。...不包含成功失败信息:如果我们要判断请求是否成功,我们要手动通过获取json数据包length获取。 返回日期格式化,在前端还需自行格式化输出。...查看Newtonsoft.Json官网介绍,日期格式化输出,需要指定IsoDateTimeConverterDateTimeFormat即可。...总结 本节主要讲解了以下几个问题: Asp.net中JsonResult实现。 ABP对JsonResult再封装,支持指定大小驼峰及是否缩进进行Json格式化。...如何对DateTime类型对象进行格式化输出。 Web层通过拓展AbpJsonResult,指定时间格式。 前端,通过将Json日期转换为jsDate类型,再格式化输出。

    1.7K90

    ASP.NET MVCModel元数据与Model模板:将”ListControl”引入ASP.NET MVC

    在某些情况下通过这两者结合往往可以解决很多特殊数据呈现问题,我们接下来演示实例就是典型例子。[本文已经同步到《How ASP.NET MVC Works?》...对于ASP.NET MVC来说,我们可以通过HtmlHelper/HtmlHelper扩展方法DropDownList/DropDownListFor和ListBox/ListBox在界面上呈现一个下拉框和列表框...在通过Visual StudioASP.NET MVC项目模板创建空Web应用中,我们定义一个作为Model表示员工Employee类型。...MVCModel元数据与Model模板:预定义模板 ASP.NET MVCModel元数据与Model模板:模板获取与执行策略 ASP.NET MVCModel元数据与Model模板:将ListControl...引入ASP.NET MVC

    4.8K60

    ASP.Net MVC视图间跳转

    大家好,又见面了,我是你们朋友全栈君。...1:同一控制器间视图跳转 发现一个贼坑地方,比如添加Home控制器,然后在viewshome文件夹里添加Index视图和Second视图,在Index视图里想要通过超链接跳转到Second视图,需要这样写...蛋疼 2:不同控制器间视图跳转 在学习任务中做仓库管理系统时候,先显示登陆注册界面,只有数据库中注册用户并且密码正确才可以进入管理系统 登陆界面输入用户和密码正确后,跳转到操作页面,...联动数据库可以进行增删改查 那么点击确认按钮(type=“confirm”),输入信息就会提交到后端,正确的话就应该跳转到操作页面,比如Operation控制器下Page1页面,如何跳转呢...可以用Response.Redirect, 当时这些跳转路径写法真是头疼,毕竟没有比较详细教程,都是网上搜然后自己慢慢试

    1.6K20

    ASP.NET MVCSNS软件Spacebuilder

    Spacebuilder步入开源之路文章提到官方开源原因:Spacebuilder是拓宇专注6年发展产品,日益暴露出一些影响产品快速发展问题:知名度没有达到预期、难以形成以 Spacebuilder...为平台囊括第三方应用/插件/皮肤生态系统,开放源代码将有助于解决这些问题。...开源后第三方开发人员可以对Spacebuilder进行二次开发,开发出来以后功能,还能够自己使用或出售给使用者,而Spacebuilder本身“平台+应用”设计思路正好就与第三方开发者形成了,共生共赢关系...3.当开源触发Spacebuilder平台+应用生态链形成以后,使用者用这个产品构建社区就能够实现投入产出最大化,用更少投入实现更多站点功能,从而实现更大价值。...据官方人员介绍本次源码开放程度,将让开发者可以自主进行应用、插件、皮肤开发,从而完成Spacebuilder自主功能定制。在此预祝Spacebuilder在开源道路上为大家创造更多惊喜!

    1.4K60
    领券