相关疑难解决方法(0)

通过URL将DateTime传递给控制器​​导致ASP .NET MVC 3(文化)中的错误

我的应用程序在web.config中设置了pt-BR文化(日期是dd-mm-yyyy):

<globalization enableClientBasedCulture="false" requestEncoding="utf-8" responseEncoding="utf-8" fileEncoding="iso-8859-15" responseHeaderEncoding="utf-8" resourceProviderFactoryType="string" enableBestFitResponseEncoding="true" culture="pt-BR" uiCulture="pt-BR" />
Run Code Online (Sandbox Code Playgroud)

在我的系统上创建的所有DateTime都是正确的格式,但我创建了一个控制器方法:

public ActionResult Test(DateTime date)
{
}
Run Code Online (Sandbox Code Playgroud)

当日期采用portuguese-br格式时,直接在浏览器中调用该方法传递null,如下所示:

mysite/Test/?date=19/01/2012   => date = null in my controller

mysite/Test/?date=01/01/2012   => date is fine, but in US format (mm-dd-yyyy)
Run Code Online (Sandbox Code Playgroud)

我如何解决这个问题,接受我的日期格式?

cultureinfo asp.net-mvc-3

19
推荐指数
2
解决办法
2万
查看次数

标签 统计

asp.net-mvc-3 ×1

cultureinfo ×1