javascript - 在 MVC Ajax..BeginForm 部分回发后运行 Javascript

标签 javascript jquery asp.net-mvc

我有以下使用 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/

相关文章:

jquery - 在 Drupal 7 "Zen"主题中使用 jQuery 和 CSS

c# - 预填充表单时避免触发验证

css - 当 EnableOptimizations=false 时将 .less 输出为 .css

c# - 如何在页面加载时设置 MVCSitemap 节点角色属性?

javascript - 如何将数据传递到 HighCharts 中的下一页?

JavaScript:检查对象字段是否未定义而不检查对象是否未定义

javascript - 使用流媒体录制音频 - MediaStreamRecorder + Node.js

javascript - 在更改功能后使用jQuery选择一个对象,修改了需要选择的元素的html结构

javascript - 如何在 jQuery 对话框中获取 ActionLink 参数

javascript - 更新 html 值而不重新加载页面