我有来自PersoonID&amp ;;的复合主键。友情表中的VriendID(Vriendschap),来自键的那些字段引用来自membershipTable(Persoon)的PersoonID,因此只有成员可以将成员作为朋友。 所以我们可以创建一个视图,说PersoonID 1是VriendID 2的朋友(谁也是我的成员) 我们可以删除它们,使用标准视图详细观察它们,但是在编辑它们时。 它什么都不做。
这是来自控制器的代码:
public ActionResult Edit(int id, int idTwo)
{
Vriendschap vriendschap = vriendschapBLL.GetByTwoId(id, idTwo);
if (vriendschap == null)
{
return HttpNotFound();
}
return View(vriendschap);
}
//
// POST: /Persoon/Edit/5
[HttpPost]
public ActionResult Edit(Vriendschap vriendschap)
{
if (this.ModelState.IsValid)
{
vriendschapBLL.Update(vriendschap);
return RedirectToAction("Index");
}
else
{
return View(vriendschap);
}
}
这是编辑视图的代码:
<div class="editor-label">
<%: Html.LabelFor(model => model.PersoonID) %>
</div>
<div class="editor-field">
<%: Html.EditorFor(model => model.PersoonID) %>
<%: Html.ValidationMessageFor(model => model.PersoonID) %>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.VriendID) %>
</div>
<div class="editor-field">
<%: Html.EditorFor(model => model.VriendID) %>
<%: Html.ValidationMessageFor(model => model.VriendID) %>
</div>
这是我们DAO中的更新代码:
/**
* Bewerken van een Vriendschap
**/
public Vriendschap Update(Vriendschap model)
{
db.Vriendschappen.Attach(model);
db.Entry<Vriendschap>(model).State = EntityState.Modified;
db.SaveChanges();
return model;
}
很抱歉,我们的大多数字段和课程都以荷兰语命名 - 提前致谢!