我有以下使用 ASP.NET MVC2 的场景
我有一个部分 View ,它使用 Ajax.BeginForm 允许部分回发,AjaxOptions 的 OnSuccess 属性指向 js 函数 onPartialReloadSuccess。 updateTargetId 位于 BeginForm 脚本中引用的父 View “应用程序”中。
这个局部 View 本身渲染了许多其他局部 View ,它们的名称是根据模型动态生成的
<% using (Ajax.BeginForm("Application", new AjaxOptions { UpdateTargetId = "mainframe", OnSuccess = "onPartialReloadSuccess" })) { %>
<div id="breadcrumbs">
<% Html.RenderPartial(Model.Breadcrumbs, Model);%>
</div>
<div id="action">
<% Html.RenderPartial(Model.CurrentView, Model);%>
</div>
<% } %>
我的问题如下 - 在部分回发后,“onPartialReloadSuccess”js 函数被成功调用而没有问题,但是 subview 中包含的 javascript 没有被重新运行。 p>
它们最初设置为在 jQuery $(document).ready()... 之后运行,这显然不适用于部分回发
我的问题是 - 有什么方法可以确保运行这些重新呈现的局部 View 上的 javascript?我看到很多针对 asp.net 表单的解决方案(使用 scriptmanager 和 PageRequestManager),但没有针对 ASP.NET MVC 的解决方案?
在此先感谢您的帮助
最佳答案
您可以将这些脚本外部化为单独的函数,然后在 onPartialReloadSuccess
函数中显式调用此函数。还在 document.ready
中调用它们,以便初始加载也能正常工作。
关于javascript - 在 MVC Ajax..BeginForm 部分回发后运行 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7509454/