如何编辑模型的ChildCollection
本文关键字:模型 ChildCollection 编辑 何编辑 | 更新日期: 2023-09-27 18:28:57
我有一个类似的ContactModel:
public class ContactModel
{
public virtual int ID { get; set; }
public virtual string LastName { get; set; }
public virtual ICollection<Note> Notes { get; set; }
}
子集合注释的定义如下:
public class Note
{
public virtual int ID { get; set; }
public virtual ContactModel ContactModel { get; set; }
public virtual string NotesValue { get; set; }
}
我添加了一个控制器,它采用ContactModel并为其创建索引、编辑、创建视图。
例如,我稍微修改了联系人的索引视图,以采取部分视图:
@foreach (var item in Model)
{
@Html.Partial("_ContactView", item)
}
在部分_ContactView中,我有以下内容:
<span class="names"><a href="????">@Model.LastName</a></span>
现在我陷入了困境,我想创建一个EditView for Note类,并从上面的URL指向这个视图。这意味着当用户单击姓氏时,它应该打开Notes的编辑视图,以便为此人添加其他注释。
我该如何做到这一点?
您可以创建一个专门用于处理注释的新控制器。创建URL如下:
<span class="names"><a href="@Html.Action("Edit", "Notes", new { ContactModelId = @Model.ID })">@Model.LastName</a></span>
在新的NotesController
中,根据通过URL传递的ContactModel
的ID加载您的笔记集:
public class NotesController : Controller {
public ActionResult Edit(int contactModelId) {
var result = Repository.ContactModel.Where(x => x.ContactModelId).Select(x => x.Notes);
return View(result);
}
}
根据需要添加用于向NotesController
类添加/更新注释的代码。