剑道ui下拉列表禁用

本文关键字:下拉列表 ui 剑道 | 更新日期: 2023-09-27 18:28:18

我使用的是带有asp.net mvc 5的kendo ui。我有一些条件,我必须显示禁用的kendo ui下拉列表,但当我提交from(post)时,我用来绑定下拉列表的模型字段包含null而不是值。

这是我的代码:

@(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")
)

有没有其他替代品可以禁用剑道下拉列表,但请记住我需要选定的值。提前谢谢。

剑道ui下拉列表禁用

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

根据这个答案,所有被禁用的元素都不会被传递到表单处理器。

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

如果您使用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();