kendo组合框向控制器发送值

时间:2014-06-30 04:00:31

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

我正在尝试实现kendo ui combobox而不是普通的dropdownlistfor。所以,在我的剃刀视图中,我替换了代码

@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对象!

请帮忙。

2 个答案:

答案 0 :(得分:1)

将您的控制器更改为此

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

}

答案 1 :(得分:0)

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

例如:

将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。