剑道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")
)
有没有其他替代品可以禁用剑道下拉列表,但请记住我需要选定的值。提前谢谢。
您没有收到值,因为您的控件被禁用。
根据这个答案,所有被禁用的元素都不会被传递到表单处理器。
我认为您必须使用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();