JQuery日期选择器不';I don’我不允许选择一天超过12天

JQuery日期选择器不';I don’我不允许选择一天超过12天,jquery,sql,asp.net-mvc-4,datepicker,Jquery,Sql,Asp.net Mvc 4,Datepicker,我有一个带有两个文本框的编辑表单,用于开始日期和结束日期的组件 我以以下形式将日期存储在SQL server数据库中: 12.4.2014 0:00:00 (day, month, year) 这两个字段具有相同的初始格式(TextBoxFor组件的第二个参数),并对从日期选择器拾取的日期使用相同的格式: <script > $(function () { $("#datepicker, #datepicker2").datepicker( {da

我有一个带有两个文本框的编辑表单,用于开始日期和结束日期的组件

我以以下形式将日期存储在SQL server数据库中:

12.4.2014 0:00:00 (day, month, year)
这两个字段具有相同的初始格式(TextBoxFor组件的第二个参数),并对从日期选择器拾取的日期使用相同的格式:

<script >
    $(function () {
        $("#datepicker, #datepicker2").datepicker(
     {dateFormat: 'dd.mm.yy 0:00:00' }); //format of the picked date
    });
</script> 

<%: Html.TextBoxFor(model => model.date_start,"{0:dd.MM.yyyy 0:00:00}", new {id = "datepicker" }) %>
<%: Html.TextBoxFor(model => model.date_end,"{0:dd.MM.yyyy 0:00:00}", new { id = "datepicker2" } ) %>

$(函数(){
$(“#日期选择器,#日期选择器2”)。日期选择器(
{dateFormat:'dd.mm.yy 0:00:00'});//所选日期的格式
});
model.date_start,“{0:dd.MM.yyyy 0:00:00}”,新的{id=“datepicker”})%>
model.date_end,“{0:dd.MM.yyyy 0:00:00}”,新的{id=“datepicker2”})%>
如果我选择一个日期,该日期小于或等于12,这意味着它将第一个数字视为月份值。否则,它将显示“字段X必须是日期”验证消息

我是否忘记在某个地方设置格式,或者问题的原因是其他原因

编辑:尝试日期为2014年12月31日0:00:00,在客户端有效。它明确将第一个数字视为月份,第二个数字视为日期,因为2014年12月32日不被视为有效日期。
因此,使用的日期选择器的日期格式nob有问题。

您必须知道日期是文本。所以您需要在模型中使其成为字符串,然后在控制器中将其转换为datetime

型号:

public class DeviceCheckViewModel
{

    public string dtStart { get; set; }
    public string dtEnd { get; set; }
  
}
控制器 `

` 看法

@使用(Html.BeginForm(“DataReload”、“DeviceCheck”、FormMethod.Post))
{
@EditorFor(model=>model.dtStart,new{htmlAttributes=new{@class=“datepicker”})
@EditorFor(model=>model.dtEnd,new{htmlAttributes=new{@class=“datepicker”})
}

1-12?您可能会得到月份值。您可能希望尝试重新检查日期格式如果选择日期,为什么会包含(零)次?我希望将它们作为默认值附加到日期中。但我想这不是问题所在,因为选择两位数的日期,即小于或等于12个工作日(例如,选择2014年4月2日和2014年12月12日工作日)。
 public ActionResult DataReload(alyans.Models.DeviceCheckViewModel deviceCheckViewModel)
        {
          
            Int64 compID = (Int64)Session["CompanyID"];

            //подготовка даты
            DateTime DateFrom;
            DateTime DateTo;
            string dateFrom = null;
            string dateTo = null;
            CultureInfo provider = CultureInfo.InvariantCulture;

            if (deviceCheckViewModel.dtStart == "")
                dateFrom = "";
            else
            {
                DateFrom = DateTime.ParseExact(deviceCheckViewModel.dtStart, "dd.mm.yyyy", provider); ;
                dateFrom = DateFrom.ToString("yyyy-MM-dd");
            }
            if (deviceCheckViewModel.dtEnd == "")
                dateTo = "";
            else
            {
                DateTo = DateTime.ParseExact(deviceCheckViewModel.dtEnd, "dd.mm.yyyy", provider); ;
                dateTo = DateTo.ToString("yyyy-MM-dd");
            }
           @using (Html.BeginForm("DataReload", "DeviceCheck", FormMethod.Post))
    {
<div>
    @Html.EditorFor(model => model.dtStart,new { htmlAttributes = new { @class = "datepicker" } })
</div>
<div>
    @Html.EditorFor(model => model.dtEnd, new { htmlAttributes = new { @class = "datepicker" } })
</div>
<div>
<input type = "submit" name = "name" value = "Применить" class="button"/>


</div>
}