Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC控制器中的局部参数_Asp.net Mvc_Vb.net_Asp.net Mvc 4 - Fatal编程技术网

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国际日期格式一致,此格式应用于查询字符串参数。

将日期作为字符串发布,并在使用日期之前在服务器上进行规范化。我希望我可以将两个答案都设置为正确-因为这两个答案都非常有用-感谢您在这里帮助我!!!!:)好的,我不知道那个。这可能会解决我的很多问题。谢谢