如何将日期时间选择器与 ASP.NET 本地化集成
How to integrate datetimepicker with ASP.NET localisation
我正在使用Trent Richardson的JQuery的datetimepicker扩展,通过NuGet获得:http://trentrichardson.com/examples/timepicker/
Trent的文档说,你可以创建一个本地化的日期时间选择器,如下所示:
$('#basic_example_4').timepicker(
$.timepicker.regional['es']
);
我通过在文本框上设置 CssClass 属性将日期时间选择器附加到 ASP.NET 文本框,并让 JavaScript 通过选择 CSS 类来附加日期时间选择器:
<script type="text/javascript">
$(document).ready(function () {
$('.calendarStartDateTime').datetimepicker({
dateFormat: 'yy-mm-dd',
timeFormat: 'hh:mm TT',
controlType: 'select',
oneLine: true
});
});
</script>
...
<asp:TextBox ID="StartDateTime" runat="server" CssClass="calendarStartDateTime" meta:resourcekey="StartDateTimeResource1"></asp:TextBox>
我的 ASP.NET 页声明设置culture="auto"
和uiculture="auto"
,以便所有 ASP.NET 元素都从浏览器设置中选取区域性设置(因此我可以使用 ASP.NET 资源来本地化文本)。
我希望日期时间选择器也根据浏览器设置自动应用本地化,与服务器端组件的本地化方式保持一致。我如何实现这一点?我是否需要在 Javascript 中插入一个 ASP.NET 标签,如下所示:
<script type="text/javascript">
$(document).ready(function () {
$('.calendarStartDateTime').datetimepicker({
$.timepicker.regional[<% magic happens here %>],
controlType: 'select',
oneLine: true
});
});
</script>
还是应该在纯JavaScript中检测浏览器文化?
编辑:根据@smirnov的回答,我的时间选择器的最终代码是:
<script type="text/javascript">
$(document).ready(function () {
$('.calendarStartDateTime').datetimepicker(
$.extend(
{},
$.datepicker.regional['<%= System.Globalization.CultureInfo.CurrentCulture.TwoLetterISOLanguageName %>'],
$.timepicker.regional['<%= System.Globalization.CultureInfo.CurrentCulture.TwoLetterISOLanguageName %>'],
{
dateFormat: 'yy-mm-dd',
timeFormat: '<%= System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern %>',
controlType: 'select',
oneLine: true
}
)
)
});
</script>
此代码正确合并了 jQuery 内置日期选取器的区域化设置、Trent Richardson 的时间选取器属性和一些自定义设置。
使用 CultureInfo.CurrentCulture.TwoLetterISOLanguageName
由于时间选择器似乎使用国家/地区代码作为区域值,请尝试
...
$.timepicker.regional['<%=System.Globalization.CultureInfo.CurrentCulture.TwoLetterISOLanguageName%>'],
...
相关文章:
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 将Javascript日期转换为ASP.NET日期格式
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 在asp.net中确认是或否消息
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- asp.net中的验证工具