Asp.net mvc MVC控制器中的局部参数
如果我有一个这样的控制器Asp.net mvc MVC控制器中的局部参数,asp.net-mvc,vb.net,asp.net-mvc-4,Asp.net Mvc,Vb.net,Asp.net Mvc 4,如果我有一个这样的控制器 公共函数获取数据(fromDate作为日期,toDate作为日期)作为操作结果 然后我的url必须是英语(MM-DD-YYYY),就像 ../GetData?fromDate=2-27-2014和toDate=9-29-2014 但由于我所有的用户都是丹麦人(DD-MM-YYYY),这将不起作用 ../GetData?fromDate=27-2-2014和toDate=29-2-2014 我是否可以告诉MVC使用丹麦语(DD-MM-YYYY)参数,或者在将日期发送到服务
公共函数获取数据(fromDate作为日期,toDate作为日期)作为操作结果
然后我的url必须是英语(MM-DD-YYYY),就像
../GetData?fromDate=2-27-2014和toDate=9-29-2014
但由于我所有的用户都是丹麦人(DD-MM-YYYY),这将不起作用
../GetData?fromDate=27-2-2014和toDate=29-2-2014
我是否可以告诉MVC使用丹麦语(DD-MM-YYYY)参数,或者在将日期发送到服务器之前必须在客户端将其转换为MM-DD-YYYY?如果使用日期格式,则绑定将适用于任何语言环境
在VB.Net中,可以使用字符串格式.ToString(“s”)
为URL创建参数
在JavaScript中,您可以使用.toISOString()
函数为URL创建参数
ISO 8601日期格式将绑定到控制器中的DateTimeOffset参数:
Public Function GetData(fromDate As DateTimeOffset, toDate As DateTimeOffset) As ActionResult
MVC模型绑定考虑当前区域性(语言环境)。例如,您的用户正在使用
da-DK
区域性,而您的应用程序(服务器)设置为en-US
区域性。所以很明显,两种文化的日期格式是不同的
一个简单的选项是在
集合下的Web.config
中
<globalization culture="da-DK" uiCulture="da-DK" />
这将全局配置应用程序以使用da DK
区域性。这样,您的控制器操作就知道希望日期采用dd-MM-yyyy
格式
Scott Hanselman有一篇关于此主题的精彩文章:
更新
此答案仅对发布的数据有效,但是在MVC中,查询字符串是使用解析的。InvariantCulture
的ShortDatePattern
是MM/dd/yyyy
例如,以下查询字符串参数将全部解析为2014年1月7日:01/07/2014
,01-07-2014
,01.07.2014
此外,以下内容也将解析为2014年1月7日:2014/01/07
,2014-01-07
,2014.01.07
最后一个示例与ISO国际日期格式一致,此格式应用于查询字符串参数。将日期作为字符串发布,并在使用日期之前在服务器上进行规范化。我希望我可以将两个答案都设置为正确-因为这两个答案都非常有用-感谢您在这里帮助我!!!!:)好的,我不知道那个。这可能会解决我的很多问题。谢谢