Asp.net mvc JQuery DatePicker未更新MVC中的模型字段

Asp.net mvc JQuery DatePicker未更新MVC中的模型字段,asp.net-mvc,razor,datepicker,Asp.net Mvc,Razor,Datepicker,以下是代码摘录: @Html.TextBoxFor(m => m.CreatedSearchStartDate, new { @Value=Model.CreatedSearchStartDate.Value.ToString("dd/MM/yyyy"), @selectedDate =Model.CreatedSearchStartDate.Value.ToString("dd/MM/yyyy"),

以下是代码摘录:

@Html.TextBoxFor(m => m.CreatedSearchStartDate, 

            new { @Value=Model.CreatedSearchStartDate.Value.ToString("dd/MM/yyyy"),

                @selectedDate =Model.CreatedSearchStartDate.Value.ToString("dd/MM/yyyy"),

                @class="dateInput", @id="CreatedSearchStartDate" }

            )
下面是相关的JQuery代码

 $("#CreatedSearchStartDate").each(function () {

    var a = $(this).datepicker(

        {

            dateFormat: "dd/mm/yy",

            defaultDate: new Date($(this).val())

        })

});   
视图显示了datepicker控件,并且运行良好。此外,文本框会更新基础值(我可以使用Firebug进行检查)。唯一的问题是模型中的基础字段没有更新。然而,该模型中还有一些其他字段,这些字段会得到正确更新


可能的原因是什么?

我觉得这是一个文化问题。我自己没有遇到过这个问题,但我知道其他人也有。如果视图的“区域性设置”与应用程序的“区域性设置”之间存在差异,则可能会导致验证错误。此外,听起来您需要确保在表单提交中使用post,以便正确应用区域性。查看这些其他帖子,看看它们是否有帮助:


我们可以查看模型定义吗?文本框是否在表单属性中?为什么使用.each构造只设置一个日期选择器。在dateInput类上设置多个将更有意义,例如:$(“.dateInput”).each(函数(){感谢您的所有回复和宝贵提示。我进一步确定了日期格式的问题。如果选择的日期符合美国格式,则它将成功反映在模型中,否则它将在模型中设置为null。例如,如果用户选择“05/01/2013”,它将绑定,如果选择“31/01/2013”设置为空。知道原因是什么吗?datepicker中的日期格式已设置为“dd/mm/yy”,请确保您拥有[HttpPost]表单提交时调用的控制器方法上的批注。如果仍然不起作用,请从控制器发布代码。是的,就在那里。问题是我没有在web.config中设置区域性。一旦我设置了区域性和UICulutre,它就开始工作了很高兴你能让它工作。你应该发布你所做的作为答案。