2012-07-17 79 views
4

我正在开发windows 7,vs 2010上的asp.net mvc3项目。我已经添加了jquery和jquery ui引用项目。asp.net mvc jquery ui datepicker绑定问题

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

如果我在我的计算机上发布项目(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代码

$(文件)。就绪(函数(){

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

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

})

我的职务行为是

public ActionResult Create(FormViewModel formModel) 
{ 

} 

FormViewModel包含名称和日期属性。我认为Model binder不是绑定日期。由于名称属性字段为true,所以日期属性会出错。

错误: 值'18 .07.2012' 是无效的结束日期]

+0

你能发布你收到的错误吗?你也确定服务器安装了jQuery(如果脚本是本地的)? – Maess 2012-07-17 17:06:07

+0

Erro消息是[值'18 .07.2012'对EndDate无效。] jquery上传成功。 – bayramucuncu 2012-07-17 17:12:07

+0

如果您的计算机和服务器的区域设置不同,可能是日期格式问题。 – MrOBrian 2012-07-17 17:14:52

回答

0

我很惊讶,它工作在本地。我想你需要这样的东西:

$('.text-box').datepicker(); 
+0

我更新了后jquery代码。 – bayramucuncu 2012-07-17 17:20:20

1

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

0

我在其中我的解决方案是在本地可以正常使用了类似的情况,但在Windows Server 2012上部署时,日期字段被设置为01/01/0000:在表单提交00 00 00。

我加入了globilization标签在我的web.config如

<globalization culture="en-US" /> 

,现在工作得很好。