【问题标题】:kendo combobox send value to controller剑道组合框向控制器发送值
【发布时间】:2014-06-30 04:00:31
【问题描述】:

我正在尝试实现 kendo ui 组合框,而不是普通的下拉列表。所以,在我看来,我替换了代码

@Html.DropDownList("clientid", (IEnumerable<SelectListItem>)clientList, "-- Select --",     new { id="ddClients", name="ddClients"})

@(Html.Kendo().ComboBox()
    .Name("ddClients")
    .Filter("contains")
    .Placeholder("-- Select --")
    .DataTextField("Text")
    .DataValueField("Value")
    .BindTo((IEnumerable<SelectListItem>)clientList)
)

但是在我的控制器中

[HttpPost]
public ActionResult ClientDashboard(tblclient objClient, String submitButton)
{
...
}

我没有让客户端进入 tblclient 对象!

请帮忙。

【问题讨论】:

  • 您的意思是要发送数据或组合框ID??
  • 组合框正在寻找绑定到名为 ddlClients 而不是 objClient 的对象
  • @Rudresh - 基本上我想发送与下拉列表中选择的客户端相对应的客户端 ID。
  • @CSharper ddClients 只是组合框的名称。我想在控制器中检索选定的值...
  • @rmdev 完全正确,因此它正在寻找绑定到该名称,您必须在控制器中输入 int ddlClients

标签: asp.net-mvc razor combobox kendo-ui


【解决方案1】:

把你的控制器改成这个

[HttpPost]
public ActionResult ClientDashboard(int ddClients, String submitBUtton)
{

}

【讨论】:

    【解决方案2】:

    您还可以将选定的值直接绑定到视图模型。

    例如:

    将 id 添加到您的模型中:

    public Int32? ClientID {get; set;}
    

    在视图中添加隐藏字段:

    @Html.HiddenFor(x => x.ClientID)
    

    添加点击事件将ClientID分配给隐藏字段:

        $("#submitButton").on("click", function () {
            var combo = $("#ddClients").data("kendoComboBox");
            $("#ClientID").val(combo.value());
        });
    

    更新:我刚刚注意到您所要做的就是将组合框的名称更改为 ClientID,并且该值绑定到没有隐藏字段和 javascript 的视图模型。

    【讨论】:

      猜你喜欢
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 2013-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多