asp.net-mvc-4 – MVC 4日期文化问题?
我正在使用MVC 4,我想知道Datetime文化信息中是否有错误?
我试图让澳大利亚的日期工作(dd / MM / yyyy),但是它一直说日期格式是错误的,即使放在web.config全球化之后。我以为这是我的代码错误,但即使你开始一个新的项目,它仍然发生。 我开始了一个新的MVC 4 Web应用程序。 将以下内容添加到web.config文件 <globalization culture="en-AU" uiCulture="en-AU" /> 然后我将以下内容添加到AccountModels.cs文件中: [DataType(DataType.DateTime)] [Required(ErrorMessage="Date is required")] public DateTime? MyDate { get; set; } 然后我将以下内容添加到Register.cshtml文件中: <li> @Html.LabelFor(m => m.MyDate) @Html.TextBoxFor(m => m.MyDate) </li> 运行应用程序,转到注册页面,尝试像26/03/2013这样的日期,它不是有效的格式。 请帮忙。 解决方法
尝试将此属性添加到MyDate属性:
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}",ApplyFormatInEditMode = true)] 虽然在web.config中设置文化应该做到这一点,但是它应该强制使用该格式。 UPDATE 好的,所以上面的答案并没有真正解决这个问题,但是如果你想改变最初显示日期的格式很重要。一个重要的注意事项是,DisplayFormat属性不是由TextBoxFor帮助器拾取,而是由EditorFor帮助器拾取。 无论如何,真正的解决方案。问题是解析日期时,jQuery验证不考虑文化。如果您关闭了客户端验证,则在了解文化的服务器上解析日期是正确的。 修复是为了覆盖日期的jQuery验证,并包含一个附加的jQuery全局插件。您可以找到全球化插件here.您也可以使用Nuget软件包管理器轻松下载该插件。我刚刚打开包管理器,选择左侧的“线上”选项卡并键入“全球化”到搜索中,这是第一个结果。一旦你安装它,我包括这两个文件:
您可以使用脚本标签直接包含它们,也可以将其放置在捆绑包中,也可以使用其他jQuery验证文件。 一旦你有了这些,你将需要添加以下脚本来覆盖日期的jQuery验证: <script type="text/javascript"> $(function () { $.validator.methods.date = function (value,element) { Globalize.culture("en-AU"); // you can alternatively pass the culture to parseDate instead of // setting the culture above,like so: // parseDate(value,null,"en-AU") return this.optional(element) || Globalize.parseDate(value) !== null; } }); </script> 就是这样,这应该是诀窍。我把这个解决方案归功于这个答案:JQuery Validation and MVC 3. How to change date format我也想提供一些更多的解释与你的问题。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- IIS部署的ASP.NET 5 BETA 8站点到IIS会给出HTTP错误500.19
- asp.net-mvc – 避免在业务层(MVC 3)中使用SelectList
- ASP.NET长期运行的Ajax请求.页面响应
- ASP.NET奇怪的编译错误
- asp.net – Windows 8 RTM上的Visual Studio 2012 Web发布无
- asp.net – 多态 – 覆盖和重载
- asp.net-mvc – 路由是在我的区域中找到控制器,但不是视图
- asp.net – 如何在ASpxGridView中以编程方式选择ASPxComboB
- asp-classic – 如何判断ASP中的变量是否已声明
- 接受List的ASP.NET Web方法失败,“Web服务方法名称无效”.
- asp.net-mvc – 由Url.Action生成的Asp.Net MVC错
- [你必须知道的.NET] 开篇有益
- asp.net – 检测处理程序中的身份验证超时并将整
- asp.net – 无法访问不可见时ASP Grid视图中的绑
- ASP.NET通过自定义函数实现对字符串的大小写切换
- 使用HtmlAnchor或ASP.NET HyperLink作为导航页内
- asp.net-mvc-2 – 仅在运行调试器时出现Antiforg
- ASP.NET MVC“Donut caching”和TempData
- asp.net – 使用Using语句的SQLConnection,从里面
- ASP.Net MVC cookies – 防篡改?