4

我正在 Windows 7 和 2010 上开发 asp.net mvc3 项目。我已将 jquery 和 jquery ui 引用添加到项目中。

我有一个将数据保存到数据库的表单。在我的表单中,我有一个文本框,它为显示日期选择器绑定了编辑器模板。

如果我在我的计算机上发布项目(Windows 7 IIS 7)一切正常。但是当我将已发布的项目上传到服务器(Windows 2003 IIS 6)时,日期选择器值不正确会发生错误。

编辑器模板

@model Nullable<System.DateTime>

@Html.TextBox(  "", 
                Model.HasValue ? Model.Value.ToString("dd.MM.yyyy") :string.Empty, 
                new { data_datepicker = true, @class = "text-box " })

格式日期选择器的 Javascript 代码

$(文档).ready(函数 () {

$.datepicker.setDefaults($.datepicker.regional['tr']);
$.datepicker.setDefaults({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd.mm.yy",
    minDate: 0
});

$(":input[data-datepicker]").datepicker();

})

我的 POST 动作是

public ActionResult Create(FormViewModel formModel)
{

}

FormViewModel 包含名称和日期属性。我认为模型活页夹不是绑定日期。因为名称属性字段为真,日期属性会出错。

错误: 值“18.07.2012”对 EndDate 无效。]

4

3 回答 3

1

我解决了问题。文化差异问题是我的问题。我设置了网络配置文件。 <globalization culture="tr-TR" />

于 2012-07-17T18:04:02.777 回答
0

我很惊讶它在本地工作。我认为你需要类似的东西:

$('.text-box').datepicker();
于 2012-07-17T17:15:25.530 回答
0

我遇到了类似的情况,我的解决方案在本地运行良好,但是当部署在 Windows Server 2012 上时,日期字段在表单提交时设置为 01/01/0000 :00 00 00 。

我在我的 Web.Config 中添加了 globilization 标签,例如

<globalization culture="en-US" />

现在工作正常。

于 2013-04-19T09:22:56.683 回答