我是Mvc3的新手我的问题是当我从数据库创建MultiSelectList时它的工作正常但我想在MultiSelectList选择值的基础上搜索我无法处理如何执行此操作
http://www.asp.net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc
使用上面的链接我能够创建MultiSelectList
请帮助我如何根据MultiSelectList中的选定值搜索记录
我的问题是,我应该创建另一个View来从数据库中获取记录,但问题是选择记录的数据库查询
答案 0 :(得分:0)
如果您查看示例源代码,可以看到他们将国家/地区列表加载到多选列表中:
public ActionResult MultiCountryVM() {
return View(new CountryViewModel());
}
public ActionResult MultiSelectCountry() {
ViewBag.Countrieslist = GetCountries(null);
return View();
}
private MultiSelectList GetCountries(string[] selectedValues) {
List<Country> Countries = new List<Country>()
{
new Country() { ID = 1, Name= "United States" },
new Country() { ID = 2, Name= "Canada" },
new Country() { ID = 3, Name= "UK" },
new Country() { ID = 4, Name= "China" },
new Country() { ID = 5, Name= "Japan" }
};
return new MultiSelectList(Countries, "ID", "Name", selectedValues);
}
然后在表单帖子上,他们将选定的值存储到ViewBag中:
[HttpPost]
public ActionResult MultiSelectCountry(FormCollection form) {
ViewBag.YouSelected = form["Countries"];
string selectedValues = form["Countries"];
ViewBag.Countrieslist = GetCountries(selectedValues.Split(','));
return View();
}
看起来他们将它放入ViewBag中,这样他们就可以将它传递给MultiCountryVM视图,而不是实际对数据进行任何查询。如果你想进行查询,你只需要使用适当的上下文创建一个LINQ查询,你也必须编写它,因为它们只有音乐实体的上下文。