我正在我的应用程序中创建一个简单的搜索功能,我想使用KendoUI MultiSelect。我需要将参数传递给控制器,但它只会传递你选择的第一个而不是全部。如何将多个参数传递给控制器?或者我的方法对于这类事情是不正确的?
这是我的代码。
观点:
@using (Html.BeginForm())
{
@(Html.Kendo().MultiSelect()
.Name("vessel_type")
.Placeholder("-- Type --")
.AutoBind(false)
.BindTo(new List<string>() {
"AHTS",
"PSV",
"Tug"
}))
<input type="submit" value="Search" />
}
我的控制器:
public ActionResult Index(string vessel_type)
{
var thevessels = from o in db.tbl_vessels
select o;
if (!String.IsNullOrEmpty(vessel_type))
{
thevessels = thevessels.Where(x =>
x.vessel_type.Contains(vessel_type));
}
return View(thecvessels);
}
正如您所看到的,我接受来自vessel_type的字符串,但是我需要它来接受用户选择的字符串,因为可以有多个字符串。有什么想法吗?
非常感谢
答案 0 :(得分:0)
虽然它可能不是最干净的解决方案,但您可以使用$('#vessel_type')。data('kendoMultiSelect')。value()然后将结果连接成一个字符串并将它们调到控制器中。你尝试过使用string [] vessel_type吗?