Ajax MVC3:在视图中显示实体关系

Ajax MVC3:在视图中显示实体关系,ajax,asp.net-mvc,asp.net-mvc-3,razor,Ajax,Asp.net Mvc,Asp.net Mvc 3,Razor,我是ASP.NET MVC新手,对查看实体关系有疑问 假设我有一个名为“Person”的实体。它保存与某人有关的常用数据(姓名、电子邮件等)。我还有一个“Notes”实体。在EF下,“人”可以有很多“笔记” 我有一个Person控制器,可以在其中查看和执行Person对象上的CRUD操作。 我可以轻松地在视图中显示注释,但允许用户从Person视图中添加/编辑/删除这些注释的最佳方式是什么?我希望使用AJAX实现这一点,而不是让用户移动到完全不同的页面来添加/编辑/删除注释 提前感谢,, Vip

我是ASP.NET MVC新手,对查看实体关系有疑问

假设我有一个名为“Person”的实体。它保存与某人有关的常用数据(姓名、电子邮件等)。我还有一个“Notes”实体。在EF下,“人”可以有很多“笔记”

我有一个Person控制器,可以在其中查看和执行Person对象上的CRUD操作。 我可以轻松地在视图中显示注释,但允许用户从Person视图中添加/编辑/删除这些注释的最佳方式是什么?我希望使用AJAX实现这一点,而不是让用户移动到完全不同的页面来添加/编辑/删除注释

提前感谢,,
ViperMAN。

当他们编辑便笺时,弹出一个jQuery对话框,指向要编辑的URL,或者在页面上有一个单独的Ajax.BeginForm()来显示详细信息。完成编辑后,调用方法刷新注释

因此: 1.在Notes网格中(或其他) 每个便笺都有一个名为“编辑”的编辑链接 此链接类似于以下内容:

这一个实际上使用了“注释”:

还要注意多个链接的这种情况:

例如,现在您用来填充对话框的URL是 /注/编辑/10
需要注意的一点是,jQuery验证需要了解这些通过ajax加载到DOM中的新项,因此在您的局部视图中,您需要告诉jQuery验证包含这些新项-我将稍作编辑以添加这些项,必须从另一台机器上获取。

@Adam-谢谢您的回答。这当然足够让我开始了。如果在注释列表上方有一个Add按钮,单击该按钮将使用AJAX在页面上显示CreateNote表单,而不显示弹出窗口,那么这种情况又如何呢?这容易实现吗?提前感谢。我不会使用jQuery对话框,而是简单地使用完全相同的局部视图来编辑注释,而不是将其加载到对话框中,只需使用jQuery.ajax调用将结果加载到div中,然后显示div。或者保持其超级简单,使用ajax.ActionLink()并再次指定UpdateTargetId=“yourDivId”Hi,上面的解决方案非常有效,但我被某些东西卡住了。我已经创建了一个控制器来处理个人和笔记的CRUD。但每个音符都需要与一个人联系起来。创建新便笺时,如何从便笺控制器获取对PersonID的引用?提前感谢。由于您当前正在查看“个人”,您必须更改指向创建操作的操作方法的链接。将此值设置为DIV中的隐藏字段,或者如果调用某些“get”操作来显示此DIV中的数据,请将其作为参数传递。当页面最初加载正确的个人id时,您必须形成此URL(即actionlink)。从安全角度来看,您可能希望在保存时验证此个人id是否真实-当前的个人作为隐藏字段可以轻松伪造。感谢您的及时回复,Adam,但我无法理解您的答案。首先,我想让Notes部分使用AJAX,我有一个Person控制器(带CRUD-ops)和Notes控制器(带CRUD-ops)。当查看员工的详细信息时,我有一个指向notes控制器的链接。此链接将PersonID传递给Notes控制器的索引操作-它获取此PersonID并列出与该人员关联的所有注释。在索引页面上,用户可以单击创建。您是否有使用隐藏字段/参数的示例?