私はMVCを初めて使用し、同じページに複数のドロップダウンリストをバインドしようとしているため、選択した値をそれぞれから取得してデータベースの検索に使用できます。コードで無限ループが発生します。誰かが私が間違っていることを教えてもらえますか、またはこれを達成するためのより良い方法をお勧めしますか?
モデル:
public class SelectViewModel
{
public SelectList MakeList { get; set; }
public SelectList ColorList { get; set; }
}
コントローラー:
public ActionResult Index()
{
SelectViewModel objSelectModel = new SelectViewModel();
List<Make> objMake = new List<Make>();
List<Color> objColor = new List<Color>();
objMake = GetMakeList();
SelectList objBindMake = new SelectList(objMake, "MakeID", "Make1", 0);
objColor = GetColorList();
SelectList objBindColor = new SelectList(objColor, "ColorID", "Color1", 0);
objSelectModel.MakeList = objBindMake;
objSelectModel.ColorList = objBindColor;
return View(objSelectModel);
}
public List<Make> GetMakeList()
{
var query = from m in makeRepository.Makes
select m;
var makes = query.ToList();
return makes;
}
public List<Color> GetColorList()
{
var query = from c in colorRepository.Colors
select c;
var colors = query.ToList();
return colors;
}
ビュー:
@model MvcApplication1.WebUI.Models.SelectViewModel
Make : @Html.DropDownList("Make", new SelectList(Model.MakeList, "Value", "Text", Model.MakeList.SelectedValue))
Color: @Html.DropDownList("Color", new SelectList(Model.ColorList, "Value", "Text", Model.ColorList.SelectedValue))