【问题标题】:Kendo Datetime picker sending null into controller剑道日期时间选择器将空值发送到控制器
【发布时间】:2017-10-19 18:17:22
【问题描述】:

我有一个使用 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>

}

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

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

然后当我点击保存按钮时,控制器中发送空值,这是为什么呢?如何使用 jQuery 而不是使用剑道的 ASP.NET MVC 包装器来解决这个问题?

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    我认为您的小部件初始化没问题。

    【讨论】:

    • @JuanJosé $('[name="FechaDeNacimiento"]') ??
    • 抱歉让您浪费了时间,这只是我的错误,问题出在文化上,因为在捆绑课程中,我对剑道日期时间小部件中的文化有不同的参考选择器。至少当我修复它时它没有问题地恢复了
    【解决方案2】:

    您的 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%; " })
    

    【讨论】:

      猜你喜欢
      • 2021-01-10
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多