我正在尝试实现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对象!
请帮忙。
答案 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。