2016-05-06 6 views
1

私は以下のようなフォームを持っています。フォームを送信すると、データ(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); 
+2

'カテゴリー'は複雑なオブジェクトであり、'