私は以下のようなフォームを持っています。フォームを送信すると、データ(id、content、gdate)がポストActionResultに到達します。ただし、フィールド(「カテゴリ」という名前)はポストサイドでヌルになります。欠けている部分は何ですか?ASP.MVCでフォームデータを送信
ブログ投稿モデル:
public class BlogPost
{
public virtual string Id { get; set; }
public virtual string content { get; set; }
public virtual string gdate { get; set; }
public virtual Category Category { get; set; }
}
カテゴリーモデル:
public class Category
{
public int ID{ get; set; }
public string Name{ get; set; }
}
のViewModel:
public class CreateVM
{
public BlogPost BlogPost { get;
public IEnumerable<SelectListItem> Categories;
}
コントローラー:
// GET: BlogPosts/Create
public ActionResult Create()
{
CreateVM vm = new CreateVM();
vm.Categories = new SelectList(db.Categories, "ID", "Name");
return View(vm);
}
return View(vm);
}
[HttpPost]
public ActionResult Create(CreateVM vm)
{
if (ModelState.IsValid)
{
db.BlogPosts.Add(vm.BlogPost);
db.SaveChanges();
return RedirectToAction("Index");
}
ビュー:
@Html.DropDownListFor(model => model.BlogPost.Category, Model.Categories);
'カテゴリー'は複雑なオブジェクトであり、'