[英]How do I use an IEnumerable string parameter in my code?
作為搜索頁面的一部分,我允許用戶使用KendoUI Multiselect小部件對特定搜索詞進行多項選擇。 集合中的這些項目作為參數傳遞給我的控制器。 我的問題是,將它們傳遞給控制器后,如何使用它們? 更具體地說,如何在使用Contains方法的Where語句中使用它們。
這是我的多選小部件代碼
@(Html.Kendo().MultiSelect()
.Name("vessel_type")
.Placeholder("Select Type")
.BindTo(new List<string>() {
"AHTS",
"PSV",
"Special"
}))
這是我的控制器代碼,它使用vessel_type作為參數
public ActionResult Search(IEnumerable<string> vessel_type)
{
var vessels = (from o in db.vessels
select o);
vessels = vessels.Where(s => s.vessel_type.Contains(vessel_type));
return PartialView("_results", vessels);
}
這行是不正確的,因為它需要一個字符串,但是我有一個mroe集合,而不是一個:
vessels = vessels.Where(s => s.vessel_type.Contains(vessel_type));
謝謝
如果我正確理解了這個問題,我相信您需要vessel_type
執行檢查,即檢查vessel_type
集合是否包含容器的類型:
vessels = vessels.Where(s => vessel_type.Contains(s.vessel_type));
這里Contains
是IEnumerable<T>
的擴展方法。
附帶說明一下,由於參數表示集合,因此我認為復數名稱更合適,例如vessel_types
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.