我有一个像这样的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并为其创建索引,编辑,创建视图。
e.g。我稍微修改了联系人的索引视图以获取部分视图:
@foreach (var item in Model)
{
@Html.Partial("_ContactView", item)
}
在部分_ContactView中我有这个:
<span class="names"><a href="????">@Model.LastName</a></span>
现在这里是我被困的地方,我想创建一个EditView for Note类,并从上面的URL指向此视图。这意味着当用户点击姓氏时,它应该打开Notes的编辑视图,以便为此人添加其他注释。
我如何实现这一目标?
答案 0 :(得分:1)
您可以创建专用于处理笔记的新控制器。为它创建URL,如下所示:
<span class="names"><a href="@Html.Action("Edit", "Notes", new { ContactModelId = @Model.ID })">@Model.LastName</a></span>
在新的NotesController
中,根据通过网址传递的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
类的代码。