jQuery datepicker的dateFormat – 如何与.NET当前文化DateTimeFormat集成
我在.NET ASP MVC3内部网应用程序中使用jQuery的datepicker插件。 使用应用程序的用户在不同国家和地区设有办事处。 这就是我想将Thread.CurrentThread.CurrentCulture.DateTimeFormat与jQuery datepicker插件集成的原因。 我的第一个解决方案是创建辅助扩展方法:
public static string jQueryDatePickerFormat(this HtmlHelper helper) { return Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern; }
并在javascript中设置dateFormat选项,如下所示:
$("#StartDate").datepicker({ dateFormat: '@Html.jQueryDatePickerFormat()' });
在我意识到datepicker的dateFormat选项支持与.NET中的格式具有不同实现的格式之后不久。
例如:pl-PL的Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern返回yyyy-MM-dd (它将日期格式化为2010-01-01),而datePicker中的相同格式将格式化与20102010年1月01日相同的日期。 我很快调整了我的辅助方法并应用了快速修复替换(“yyyy”,“yy”)。替换(“MM”,“mm”) :
public static string jQueryDatePickerFormat(this HtmlHelper helper) { return Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern.Replace("yyyy", "yy").Replace("MM", "mm"); }
我工作,但我等待其他问题出现的那一刻。 有没有简单的方法将.NET语言环境设置实现到jQuery的datePicker插件中?
谢谢你,帕维尔
ASP.NET MVC中的代码项目文章JQueryUI Datepicker http://www.codeproject.com/Articles/62031/JQueryUI-Datepicker-in-ASP-NET-MVC具有完全符合您要求的function
/// Converts the .net supported date format current culture /// format into JQuery Datepicker format. /// /// HtmlHelper object. /// Date format supported by .NET. /// Format string that supported in JQuery Datepicker. public static string ConvertDateFormat(this HtmlHelper html, string format)
我还发布了一个相反的function – 将jQuery UI Datepicker格式转换为.Net Date格式
我前段时间对这个问题进行了总结。 我采取的路径只是将jQuery datepicker提供给我的任何东西转换为milis(.getTime())。 知道javascript时间基于1,1,1970的日期和.NET的1,1,0我能够在我的控制器端进行计算
因此,假设您将javscript DateTime.getTime()值传递给控制器,您可以;
var myDate = new DateTime(1970, 1, 1) + new TimeSpan(time * 10000);
在你看来你可以;
$.datepicker.setDefaults($.datepicker.regional["pl"]); $("#StartDate").datepicker({ dateFormat: "yy-mm-dd", onSelect: function (dateText) { var currentDate = new Date(dateText); time = currentDate.getTime(); // $.post | $.ajax here - whatever you need } });
您将需要记住TimeZones以及javascript在计算日期时将其考虑在内的事实。
存放在隐藏的领域
@Html.HiddenFor(model=>model.StartDate) @Html.HiddenFor(model=>model.EndDate)
- 如何使用jQuery将JSON数据绑定到Asp.net MVC中的dropdownlist
- JQuery After Body ASP .NET MVC 4
- MVC3 jQuery keyup事件
- 使用Ajax的jQuery FancyBox
- 如何使用javascript或jquery在asp.net应用程序中禁用右键单击,f12(调试)和ctrl + s
- JqGrid形成服务器validation和自定义错误消息
- jQuery阻止RedirectToAction工作?
- 如何创建jQuery Datatable Drill-down行?
- dynatree + asp.net mvc – 如何将数据发回服务器?