MVC剑道网格传递下拉列表值更新方法

本文关键字:下拉列表 更新 新方法 网格 MVC | 更新日期: 2023-09-27 18:17:54

我有一个剑道网格:

@(Html.Kendo().Grid<Grid>().Name("Grid")
      .DataSource(ds => ds
          .Ajax()
          .Model(model => model.Id(m => m.ID))
          .Read(read => read.Action("Grid_Read", "Sessions", new {sessionId = ViewBag.SessionID}))
              .Update(update => 
update.Action("Grid_Update", "Sessions", new { 
sessionId = ViewBag.SessionID, qcStateId = '????'}))
              .PageSize(10)
              .Batch(true)
          )
          .ToolBar(toolbar => 
          {
              toolbar.Template(
                    "| Set selected to: " + @Html.Partial("EditorTemplates/QCStatusHeader"));
          }
          )

QCStatusHeader:

@(Html.Kendo().DropDownList()
    .Name("QCStatusHeader")
    .DataValueField("Id")
    .DataTextField("Name")
    .BindTo((List<NomadBase.Web.ViewModels.Shared.QCStateViewModel>)ViewBag.PossibleQCStatesHeader)

)

我如何从QCStatusHeader下拉列表中获得所选值到我对控制器的更新调用?

MVC剑道网格传递下拉列表值更新方法

非常简单的解决方案,添加。data选项并使用javascript方法返回当前选择的ddl值。

.Update(update => update.Action("Grid_Update", "Sessions", new {sessionId = ViewBag.SessionID})
    .Data("QCStatusHeaderValue"))
function QCStatusHeaderValue() {
        var value = $('#QCStatusHeader').data("kendoDropDownList").value();
        return { qcStateId: value };
    }