我正在使用Kendo UI进行MVC,当我执行以下操作时,我遇到了ComboBox的奇怪行为:
返回时,ComboBox为空(如果我配置了占位符,则会显示占位符)。但是,当我打开ComboBox时,我最初选择的项目会突出显示。因此,虽然文本不是,但似乎保留了该值。
通常情况下,数据输入项目会保留您离开页面时的值,因此这种行为似乎不合标准。
有没有办法确保ComboBox在返回页面时保留其文本?
谢谢,
肯
答案 0 :(得分:0)
看到你的一些代码会有所帮助,但我会抛弃它。这有点没有文档使用Kendo()。DropDownListFor但我发现它是最好的。我还发现,最好继续将列表选项从您的数据看起来转换为IList of SelectListItem,以后会节省很多麻烦。这是在一堆视图中被删除的部分内容。
@using (Html.BeginForm(null, null, FormMethod.Post, new { id = "ChangeProject" }))
{
@(Html.Kendo().DropDownListFor(x => x.CurrentProjectId)
.HtmlAttributes(new { style = "width: 450px;" })
.OptionLabel("Project...")
.BindTo(Model.ProjectSelectList)
.Events(events => events.Change("submitProjectForm"))
)
<script type="text/javascript">
function submitProjectForm() {
$('#ChangeProject').submit();
}
</script>
}
模型应用于页面...
public class ThisViewModel
{
public int CurrentProjectId { get; set; }
public IList<SelectListItem> ProjectSelectList { get; set; }
...
}
答案 1 :(得分:0)
您可以在sumit之前设置commboBox的控制等值文本的值或转到新页面:
$("#controlid").val($("#controlid").data("kendoComboBox").text());