0

リストビューがあり、ページに部分的な作成を追加したいと考えています。

@model IEnumerable <blah.Domain.Entities.blah>

@Html.Partial("_Quickblah", new blah.Domain.Entities.blah());

  public ViewResult _Quickblah()
        {
            ViewBag.CategoryID = new SelectList(Repository.Categorys, "CategoryID", "Title");

            Blah blah = new Blah () { CreatedDate = DateTime.Now };

            return View(blah);
        }

そして、私はエラーが発生します

キー「CategoryID」を持つタイプ「IEnumerable」の ViewData アイテムはありません。

どうすればこれを修正できますか?

4

1 に答える 1

2

コントローラーアクションを呼び出すとHtml.Partial_Quickblahもちろん呼び出されViewBag.CategoryIDず、割り当てられません(このビューをレンダリングしたメインコントローラーアクションで設定しなかったと想定しているため)。Html.Action代わりに次を使用する必要があります。

@Html.Action("_Quickblah")

また、あなたの_Quickblahアクションでは、部分的なビューを返していることを確認してください:

public ActionResult _Quickblah()
{
    ViewBag.CategoryID = new SelectList(Repository.Categorys, "CategoryID", "Title");
    Blah blah = new Blah () { CreatedDate = DateTime.Now };
    return PartialView(blah);
}
于 2013-03-05T15:41:00.783 に答える