0
我有一個應該採取的類別名稱並做到這一點,我已經做了這樣的取得動作一個博客帖子:創建實體框架法師詳細
public ActionResult Add()
{
ViewBag.CategoryList = new SelectList(_categoryRepository.GetAllCategory(), "Id", "Name");
return View(new BlogPost());
}
,並在查看我:
@model Blog.Domain.Model.BlogPost
@{
ViewBag.Title = "AddPost";
Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
}
<fieldset>
@using (Html.BeginForm("Add", "Blog", FormMethod.Post))
{
@Html.ValidationSummary()
<div>
@Html.LabelFor(b => b.Title)
@Html.TextBoxFor(b => b.Title)
@Html.ValidationMessageFor(b => b.Title)
</div>
<div>
@Html.LabelFor(b => b.Body)
@Html.EditorFor(b => b.Body)
@Html.ValidationMessageFor(b => b.Body)
</div>
<div>
@Html.LabelFor(b => b.Summary)
@Html.TextBoxFor(b => b.Summary)
@Html.ValidationMessageFor(b => b.Summary)
</div>
<div>
@Html.LabelFor(b => b.Category)
@Html.DropDownListFor(model => model.Category.Id, ViewBag.CategoryList as SelectList, "--- Select Category ---", new { @class = "some_class" })
</div>
<div>
<input type="submit" value="Add Post" />
</div>
}
</fieldset>
,並在行動後我寫這樣的代碼:
[HttpPost]
public ActionResult Add(BlogPost blogPost)
{
if (ModelState.IsValid)
{
blogPost.PublishDate = DateTime.Now;
_blogPostRepository.AddPost(blogPost);
_blogPostRepository.Save();
return View();
}
return View();
}
我不知道,我寫了這個代碼exactl y正確與否,但我一直有這個麻煩!主從在這種情況下實際上與實體框架將選擇一個類別,並把它發送到數據庫成功,如果你有寫之前,請幫我約的是這樣的事情,感謝
我的錯真的很抱歉(二級下拉列表),我只是複製和過去的信息和第一,這就是一個評論沒有注意到!我真的混了,我想你說的是什麼,但現在我得到這個錯誤:有類型的無ViewData的項目「的IEnumerable」具有關鍵「Category.Id」。 –
2013-03-25 21:48:17