【发布时间】:2014-07-30 19:18:13
【问题描述】:
我的域类:
public class Site
{
[Key]
public virtual int SiteId { get; set; }
public virtual Address Address { get; set; } // Required
}
public class Address
{
[Key]
public virtual int AddressId { get; set; }
}
SiteCreate 视图仅包含以下文本框:
@Html.EditorFor(model => model.SiteId)
当我PostBack时,抛出异常,如下SiteController中所示:
[HttpPost]
public ActionResult Create([Bind(Include="SiteId,Name")] Site site)
{
if (ModelState.IsValid)
{
db.Sites.Add(site);
db.SaveChanges(); // ***Error Here***!!!
return RedirectToAction("Index");
}
return View(site);
}
很明显,异常是由于缺少必需的“Address”对象。
我想选择一个现有的“Address”对象并将其包含在“Site”实体中。
我在我的视图中使用了一个 JQuery 对话框从数据库中选择了一个现有的“AddressId”。
我的问题是如何在我的视图中将“Address”对象插入“Site”?
或者将其传递给控制器并将其插入“Site”实体?
请帮忙。谢谢!
【问题讨论】:
标签: c# razor entity-framework-6 asp.net-mvc-viewmodel asp.net-mvc-5.1