您是否为包装器指定了 DataTextField() 和 DataValueField() 属性?
例如
@Html.Kendo().DropDownListFor(m => m.JobTitle)
.OptionLabel("Select Job Title...")
.DataTextField("text")
.DataValueField("value")
.BindTo(ViewData["Jobs"] as SelectList)
更新:
List<SelectListItem> JobTitles = new List<SelectListItem>();
JobTitles.Add(new SelectListItem { Value="One", Text = "One"});
JobTitles.Add(new SelectListItem { Value="Two", Text = "Two"});
JobTitles.Add(new SelectListItem { Value="Three", Text = "Three"});
JobTitles.Add(new SelectListItem { Value = "Four", Text = "Four" });
SelectList jobs = new SelectList(JobTitles, "value","text");
ViewData["Jobs"] = jobs;
更新 2:
@Html.HiddenFor(m => m.JobTitle)
@(Html.Kendo().DropDownList().Name("JobTitlesList").OptionLabel("Select Job Title...").Events(e => {
e.Change("listChange");
}).BindTo(new SelectList((IEnumerable<string>)ViewData["Jobs"])))
//JScript event handler
function listChange(e)
{
//console.log(e);
$('#JobTitle').val(e.sender.text());
}