我有一个包含产品和系列类型的实体数据模型.每个产品都有一个系列.
我在ASP.NET MVC网站上使用此模型.我想在我的产品控制器的创建和编辑视图上使用Family DropDownLists.
如何在我的强类型ASP.NET MVC创建和编辑视图的DropDownList中使用实体对象导航属性?
以下代码失败…
ProductController的:
// POST: /Product/Create
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(Product p)
{
db.AddToProduct(p);
db.SaveChanges();
return RedirectToAction("Index");
}
创建视图:
<p>
<label for="Family">Family:</label>
<%= Html.DropDownList("Family", new SelectList((IEnumerable)ViewData["Families"], "Id", "Name"))%>
<%= Html.ValidationMessage("Family", "*")%>
</p>
我可以在不使用FormCollection的情况下执行此操作吗?我宁愿把它作为强类型产品.
最佳答案 目前,您无法使用外键进行绑定.
您必须手动更新产品与家庭之间的关系.
为此,您应该在“post”操作中添加familyid参数.
并将product.family分配给families.Where(f => f.id = famylyId)