我有一個包含參考其他實體一樣實體框架和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