私は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から選択された値の基礎私の質問は、データベースからレコードを取得するために別のビューを作成する必要があるということですが、問題はレコードを選択するためのデータベースクエリがどうなるかです
質問する
326 次
1 に答える
0
サンプル ソース コードを見ると、国のリストが multiselectlist に読み込まれていることがわかります。
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 に答える