【问题标题】:kendo ui dropdownList Disablekendo ui dropdownList 禁用
【发布时间】:2015-12-29 10:18:02
【问题描述】:

我正在使用带有 asp.net mvc 5 的 kendo ui。我有一些情况,我必须显示 kendo ui 下拉列表已禁用,但是当我提交 from(发布)我用来绑定的模型字段时下拉列表包含 null 而不是 value。

这是我的代码:

@(Html.Kendo().DropDownListFor(i => i.CallTypeId)
    .Name("CallTypeId")
    .HtmlAttributes(new { style = "width:100%" })
    .DataTextField("MasterValueName")
    .DataValueField("MasterValueId")
    .Enable(false)
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("GetCallType", "Common", new { Area = "" });
        });
    })
    .OptionLabel("Select Call Type")
)

是否有其他替代方法可以禁用剑道下拉列表,但请记住我需要选择的值。 提前致谢。

【问题讨论】:

    标签: c# asp.net-mvc razor kendo-ui


    【解决方案1】:

    您没有收到该值,因为您的控件已禁用。

    根据this answer,所有禁用的元素都不会传递给表单处理器。

    我认为你必须使用ReadOnly 方法而不是Enable

    【讨论】:

      【解决方案2】:

      如果您使用 JavaScript 发布表单(或有该选项),您可以在发布之前启用该字段,以便模型包含该值:

      查看:

      @(Html.Kendo().Button()  // hidden post button to be "clicked" from JavaScript
          .Name("btnPostForm")
          .HtmlAttributes(new { type = "submit", style = "display:none", name = "Command" })
      )
      

      脚本:

      // Enable the drop-down.
      $('#CallTypeId').getKendoDropDownList().enable(true);
      
      // Post the form.
      var postButton = $('#btnPostForm');
      postButton.attr('value', 'SaveForm');  // optional command name for controller to read
      postButton.click();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-06
        • 2014-11-23
        • 2014-06-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多