JQuery/JSON和MVC模型可以共存吗?

JQuery/JSON和MVC模型可以共存吗?,jquery,asp.net-mvc-4,Jquery,Asp.net Mvc 4,我有一个页面(又名PAGE1),它有一个复杂的网格(比如jqgrid),您可以对结果进行过滤/排序/分页。 当您单击网格上的一行时,我希望加载/获取我在另一个视图(aka PAGE2)中的表单,并将其加载到第1页的DIV容器中。我想这样做,而不是重定向到第2页,因为我想保持第1页的状态(即:排序和分页结果) PAGE2有一个加载页面的模型,允许用户编辑字段并提交更改。 我非常喜欢MVC的开箱即用功能,它可以验证字段并突出显示有问题的字段(除其他外),但是MVC(开箱即用)会进行回发。这将重新加载

我有一个页面(又名PAGE1),它有一个复杂的网格(比如jqgrid),您可以对结果进行过滤/排序/分页。 当您单击网格上的一行时,我希望加载/获取我在另一个视图(aka PAGE2)中的表单,并将其加载到第1页的DIV容器中。我想这样做,而不是重定向到第2页,因为我想保持第1页的状态(即:排序和分页结果)

PAGE2有一个加载页面的模型,允许用户编辑字段并提交更改。 我非常喜欢MVC的开箱即用功能,它可以验证字段并突出显示有问题的字段(除其他外),但是MVC(开箱即用)会进行回发。这将重新加载整个页面,因此现在broswer位于第2页,而第1页已消失(以及它的状态)

有没有一种加载PAGE2的方式(没有iFrame!)使得回发只会刷新它加载的PAGE1上的DIV

另外,当我将.get()PAGE2放入PAGE1上的一个DIV中时-如果PAGE2中有插件,当我关闭PAGE2时,它似乎会断开PAGE1…不确定两者是否相关


我希望这是有意义的-提前谢谢

当我需要这样做时,我会使用
Ajax.BeginForm
在页面上执行
Html.RenderPartial
——Ajax的Razor助手处理了很多事情,但由于您陷入了困境,我不确定您为什么不能设置Ajax调用(成功或失败)你自己。

你读过backbone.js或angular.js吗?我见过angular.js VS2012自动添加到项目中,但还没有玩过。我没听说过脊梁骨。我到底在用这些脚本寻找什么?有任何示例代码吗?它们都基于MVC方法,并在不刷新页面的情况下动态加载网页/网页的一部分上的内容。您可以在RenderPartial上阅读有关backbone.js的内容,但这没有帮助,因为它没有动态加载“PAGE2”,我需要它,因为PAGE2可能是两个页面中的一个,具体取决于用户在网格上单击的行。我尝试使用AJAX加载PAGE2,效果很好——但是如上所述,当您提交表单时,回发会将页面作为自身重新呈现,丢弃page1。不确定如何将回发仅限于PAGE2容器(位于PAGE1上)。我想知道“Angular”是否就是这么做的——这是上面Mandeep Jain建议的。如果您的ajax表单导致页面刷新,那么一定是出了问题。如果深入研究javascript,您应该能够非常清楚地定义页面的哪些部分得到更新以及何时更新。查看-您可以看到最重要的答案是将div的内容替换为控制器中特定操作的PartialViewResult的结果。感谢链接-它给了我一些指导。最后,我在第1页使用.get()将partialview加载到div中,然后在第2页使用AJAX获取partialview的HTML并替换它自己。效果很好。谢谢听起来是解决你问题的完美方法。很高兴它对你有用!