Kendo Datetime选择器将null发送到控制器

时间:2017-10-19 18:17:23

标签: jquery asp.net-mvc kendo-ui html-helper kendo-datetimepicker

我有一个使用html帮助器的表单:

@using (Html.BeginForm("GuardarCliente", "Cliente"))
{
    @Html.LabelFor(m => m.FechaDeNacimiento)
    @Html.TextBoxFor(m => m.FechaDeNacimiento, new { @class = "form-control", placeholder = "Fecha de Nacimiento...", style = "width:74%; " })
    <div class="row">
        @Html.ValidationMessageFor(m => m.FechaDeNacimiento)                                
    </div>                            
    @Html.HiddenFor(m => m.Id)
    @Html.AntiForgeryToken()

   <button class="btn btn-primary">Save</button>

}

但我想将此输入转换为Kendo日期时间选择器,如下所示:

 $("#FechaDeNacimiento").kendoDateTimePicker({
    value: new Date(),
    culture: "es-ES",
    dateInput: true
 });

然后当我cliked保存按钮在控制器中发送空值时,为什么会这样?我如何使用jQuery修复此问题而不使用kendo的ASP.NET MVC包装?

2 个答案:

答案 0 :(得分:0)

我不确定ASP.Net是否在你的元素中呈现id属性,但试试这个:

$("#@Html.IdFor(m => m.FechaDeNacimiento)").kendoDateTimePicker({ ...

如果不起作用,请自行设置id

@Html.TextBoxFor(m => m.FechaDeNacimiento, new { id = "FechaDeNacimiento"... })

我认为你的小部件初始化是可以的。

答案 1 :(得分:0)

HTML表单中是否有input元素?你需要这样的东西:

<input id="FechaDeNacimiento" style="width: 74%" />

或修改现有的剃刀代码以添加id属性:

@Html.TextBoxFor(m => m.FechaDeNacimiento, new { @class = "form-control", id = "FechaDeNacimiento", placeholder = "Fecha de Nacimiento...", style = "width:74%; " })