래퍼에 대해 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());
}
만약 그게 작동합니다 if 옵션을 하드 코딩하고 싶었지만 내 목록을 값과 연관시키지 않습니다. 목록은 데이터베이스에서 나오므로 코드 자체에 해당 값을 입력하고 싶지는 않습니다. – aw04
명확히하기 위해 DataValueField는 문자열을 취하고 값은 목록에 있으므로이 경우 어떻게 작동하는지 잘 모르겠습니다. – aw04
좋아, 명확히하기 위해 서버가 SelectList를 반환하고 대신 단순히 IEnumerable을 반환하도록 할 수있는 방법이 없습니까? –