我有一个包含参考其他实体一样实体框架和ASP.NET MVC更复杂的模型
public class Product
{
[Key]
public int ProductID { get; set; }
[Required]
public string Name { get; set; }
[Required]
public virtual Shop Shop { get; set; }
[Required]
public double Price { get; set; }
}
我想创建,编辑,查看包含Shop
选择(下拉)实体框架模型。
默认情况下,我已经创建了基本的MVC控制器,连接实体模型,创建编辑,如:
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Product product = db.Products.Find(id);
if (product == null)
{
return HttpNotFound();
}
return View(product);
}
和视图不包含购物选择。
我试图添加下拉像:
@Html.DropDownListFor(product => product.Shop, (SelectList)ViewBag.Shops)
但在POST方法,本店实体为空。
如何处理?
请问您可以在这种情况下添加POST方法的样子吗? – Tomasz 2014-09-27 06:33:35
我的意思是,如果我在我的实体模型属性商店,并在我的viewModel属性ShopID,我需要编写的方法来将虚拟机转换回模型,如:Shop = db.Shops.Find(this.ShopID)'?对? – Tomasz 2014-09-27 06:48:53
是的,这是正确的。 – 2014-09-27 06:50:04