私は MVC3 を学習していますが、ドロップダウン リストに入力する方法が見つかりません。StackOverFlow の例を試してみましたが、機能しませんでした。Web で見つけたプロジェクトから試してみましたが、うまくいきません。Youtubeでこの男のチュートリアルを見つけたところ、次のエラーが表示されました。
キー「Categ」を持つタイプ「IEnumerable」の ViewData アイテムはありません。
そして今、私は選択肢がありません。
これは、list
(私が思うに)の値を取得する場所です:
public class Cat
{
DataBaseContext db;
public IEnumerable<MyCategory> Categories()
{
db = new DataBaseContext();
List<MyCategory> categories = (from b in db.BookCategory
select new MyCategory { name = b.Name, id = b.ID }).ToList();
if (categories != null)
{
var ocategories = from ct in categories
orderby ct.id
select ct;
return ocategories;
}
else return null;
}
}
public class MyCategory
{
public string name { get; set; }
public int id { get;set;}
}
これは次のController
とおりです。
// GET: /Entity/Create
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(BookEntity ent)
{
Cat ca= new Cat();
IEnumerable<SelectListItem> items = ca.Categories().Select(c => new SelectListItem
{
Text = c.name,
Value = c.id.ToString()
});
ViewBag.Categ = items;
db.BookEntity.Add(ent);
db.SaveChanges();
return RedirectToAction("Index");
}
そして、これは次のView
とおりです。
<div class="editor-field">
@Html.DropDownList("Categ"," Select One ")
</div>
どういうわけか、私にはうまくいきません。助けやアドバイスをいただければ幸いです。