在 _Layout.cshtml 中:
@RenderBody()
@Scripts.Render("~/scripts/jquery.unobtrusive-ajax.js")
运行脚本会激活 index.cshtml 中的所有 @Ajax.ActionLink。一些 ajax 动作链接通过 ajax 加载局部视图,而这些局部视图包含更多的 ajax 动作链接。这些新的 ajax 操作链接没有被激活,因为 jquery.unobtrusive-ajax.js 在它们出现在页面之前就已经运行了。
我的解决方案是在局部视图上再次运行脚本。
在 _PartialView.cshtml 中:
@Scripts.Render("~/scripts/jquery.unobtrusive-ajax.js")
然而,这会导致 index.cshtml 中的 @Ajax.ActionLink 被第二次激活。如果我点击这些 ajax 动作链接中的任何一个,它们对应的动作就会运行两次。
如何在部分视图中激活新的 ajax 操作链接而不重新激活现有的 ajax 操作链接?