大佬教程收集整理的这篇文章主要介绍了asp.net-mvc-4 – MVC 4日期文化问题?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图让澳大利亚的日期工作(dd / MM / yyyy),但是它一直说日期格式是错误的,即使放在web.config全球化之后。我以为这是我的代码错误,但即使你开始一个新的项目,它仍然发生。
我开始了一个新的R_780_11845@VC 4 Web应用程序。
将以下内容添加到web.config文件
<globalization culture="en-AU" uiCulture="en-AU" />
然后我将以下内容添加到AccountModels.cs文件中:
[DataType(DataType.datetiR_780_11845@E)] [required(Errormessage="Date is required")] public datetiR_780_11845@e? MyDate { get; set; }
然后我将以下内容添加到Register.cshtml文件中:
<li> @Html.LabelFor(m => m.MyDatE) @Html.TextBoxFor(m => m.MyDatE) </li>
运行应用程序,转到注册页面,尝试像26/03/2013这样的日期,它不是有效的格式。
请帮忙。
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}",ApplyFormaTinEditMode = truE)]
虽然在web.config中设置文化应该做到这一点,但是它应该强制使用该格式。
好的,所以上面的答案并没有真正解决这个问题,但是如果你想改变最初显示日期的格式很重要。一个重要的注意事项是,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>
以上是大佬教程为你收集整理的asp.net-mvc-4 – MVC 4日期文化问题?全部内容,希望文章能够帮你解决asp.net-mvc-4 – MVC 4日期文化问题?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。