如何将多个参数传递给控制器​​?

时间:2016-06-22 15:50:38

标签: c# kendo-ui

我正在我的应用程序中创建一个简单的搜索功能,我想使用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的字符串,但是我需要它来接受用户选择的字符串,因为可以有多个字符串。有什么想法吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

虽然它可能不是最干净的解决方案,但您可以使用$('#vessel_type')。data('kendoMultiSelect')。value()然后将结果连接成一个字符串并将它们调到控制器中。你尝试过使用string [] vessel_type吗?