MVC3 でドロップダウン リストを作成する際に少し問題があります。これについて助けてくれる人がいることを願っています。
都市の DropDownList を含むユーザーのビューをレンダリングしようとしています。これは、データベースから取得する必要があります。実際、User クラスには City クラスの ForeignKey があります。
コントローラーとビューは次のとおりです。
public ViewResult Index()
{
//return View(model);
var DefaultCities = new[]
{
new {Name = "London"}
}.ToList();
IEnumerable<SelectListItem> cities = unitOfWork.CityRepository.Get() as IEnumerable<SelectListItem>;
ViewData["AllCities"] = cities != null ? new SelectList(cities.AsEnumerable(), "CityID", "Name") : new SelectList(DefaultCities.AsEnumerable(), "Name");
return View(unitOfWork.UserRepository.Get(orderBy: us => us.OrderByDescending(u => u.ID)).OfType<User>().ToList());
}
//景色
<div class="editor-field">
@Html.DropDownList(**"CityID"**, ViewData["AllCities"] as SelectList, "--Choose One--"))
@Html.ValidationMessageFor(model => model.CityID)
</div>
ただし、次のエラーが表示されます。
キー「CityID」を持つ「IEnumerable」タイプの ViewData アイテムはありません。
MVCは初めてです!「CityID」は何を参照していますか? の第一引数には何を書けばいい@Html.DropDownList
ですか?
さまざまな記事を読んだことがありますが、言及されている引数はフォーム フィールドの名前である必要があります。
誰でもサンプルコードを提案できますか? どんな助けでも大歓迎です。