1

我是 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 中选择值的基础我的问题是我应该创建另一个视图以从数据库中获取记录,但问题是选择记录的数据库查询是什么

4

1 回答 1

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 查询,您还必须编写该查询,因为它们只有音乐实体的上下文。

于 2012-07-13T14:11:35.097 回答