KendoUI-MVC DropDownList заполняется при загрузке страницы и сохраняет выбранное значение в контроллере

Я могу связать свой KendoUI DropDownList, но при сохранении я понятия не имею, как получить фактическое выбранное значение. Я предположил, что, поскольку он был в моей форме бритвы, он автоматически привязывал значение.

При сохранении устанавливаются все мои свойства, кроме этого. Как мне убедиться, что в моем Edit.cshtml будет предварительно выбрано правильное значение, а затем при сохранении значение будет отправлено моему методу действия POST со всеми другими значениями. Ниже показано, как выглядит мой KendoUI DropDownList:

<div class="form-group">
    @Html.LabelFor(model => model.StateId, htmlAttributes: new { @class = "control-label" })
    <br/>
        @(Html.Kendo().DropDownList()
              .Name("ddlStates")
              .HtmlAttributes(new { style = "width: 250px" })
              .DataTextField("Name")
              .DataValueField("Id")
              .DataSource(source =>
              {
                  source.Read(read =>
                  {
                      read.Action("GetStates", "Admin");
                  });
              })
        )
        @Html.ValidationMessageFor(model => model.StateId, "", new { @class = "text-danger" })
    </div>

person JTunney    schedule 15.02.2015    source источник


Ответы (1)


Используйте строго типизированный помощник для привязки к свойству

@(Html.Kendo().DropDownListFor(m => m.StateId)
  .HtmlAttributes(new { style = "width: 250px" })
  .DataTextField("Name")
  .DataValueField("Id")
  .....

Обратите внимание, что опция .Name() не требуется.

person Community    schedule 16.02.2015