我有2个模型,每个模型都有许多属性 - Object1和Object2
我在SQL db中与它们有外键关系 - Object1可以有很多Object2的
在我的Object2Controller的Create()方法中创建Object2时,如何将Object2与Object 1的Guid相关联?
这是代码:
控制器:
[HttpPost]
public ActionResult Create(Object2 object2)
{
if (ModelState.IsValid)
{
object2.Object2Id = Guid.NewGuid();
db.Object2.Add(object2);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(object2);
}
答案 0 :(得分:1)
在这种情况下,我只能看到两个选项:
修改强>
要从 Object1 详细信息视图中创建新的 Object2 ,请按照此流程进行操作。
首先,详细视图上的一个简单表单:
@using (var form = Html.BeginForm("Add", "Object2Controller", FormMethod.Get))
{
<input type='hidden' name='Object1ID' value='@Model.Object1ID' />
<submit type='submit' value='Add Object1' />
}
然后,您将在 Object2 的控制器中有一个 Add 方法,用于预先填充外键:
[HttpGet]
public ActionResult Add(Guid Object1ID)
{
Object2 newObj = new Object2();
newObj.Object1ID = Object1ID;
return View("MyAddView", newObj);
}
这将指向 Object2 详细信息表单,该表单会回复您问题中的 Create 方法。