jQuery 事件在 asp.net mvc(4) 第二部分中的部分视图发布后停止工作

2024-03-28

I have a View with the following layout enter image description here The parent View is composed of several PartialViews. One of which is a list where each item has a corresponding Edit button which loads the item into another PartialView, but this is loaded via ajax into a modal bootstrap-dialog.

通过点击“编辑”按钮,部分视图可以在模式对话框中毫无问题地加载,但在提交对话框后,“编辑”按钮停止触发事件,并且模式不再加载,我的意思是,“编辑”按钮的单击处理程序停止工作。

我相信这是因为在发布模式后我 ajax 重新加载包含编辑按钮的列表部分视图,因此我需要重新绑定事件。但是这样做会在编辑单击事件和模态表单提交之间形成循环调用吗?

父视图中的脚本:

$(".btn.mylink").on("click", function () {            
            var id = $(this).data('id');
            var url = "/SalidaDetalle/Edit/" + id;            
            $.get(url, function (data) {
                $(".modal-body").html(data);
                $('#myModal').modal('show');

                $(".edit-detail").on('submit', function () {
                    $.post($(this).attr('action'),
                    $(this).serialize(), 
                    function (data, status) {                        
                        $('#myModal').modal('hide');
                        $("#details").html(data);

                    }).error(function (error, status, a, b) {
                        writeError('msgError', 'Error processing request. Please check errors and try again!');
                        $('.modal-body p.body').html(error.responseText);

                    });
                    return false;
                });

            });
        });

笔记: 这个问题与this one https://stackoverflow.com/questions/24556680/using-jquery-with-partial-views-in-asp-net-mvc4


不要将事件直接绑定到按钮,而是将它们锚定到不会刷新的包含块。即使您已在该部分视图中重新加载内部内容,您的事件仍将继续触发。

$("#container").on("click",".btn.mylink", function (evt) {            
        var id = $(evt.currentTarget).data('id');
        var url = "/SalidaDetalle/Edit/" + id;            
        $.get(url, function (data) {
            $(".modal-body").html(data);
            $('#myModal').modal('show');
        });
    });

$("#container").on('submit',".edit-detail", function (evt) {
         $.post($(evt.currentTarget).attr('action'),
         $(evt.currentTarget).serialize(), 
         function (data, status) {                        
             $('#myModal').modal('hide');
               $("#details").html(data);

         }).error(function (error, status, a, b) {
              writeError('msgError', 'Error processing request. Please check errors and try again!');
            $('.modal-body p.body').html(error.responseText);

   });
   return false;
   });

您需要调整脚本并将带有 id 容器的 div 添加到父视图中,但您明白了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 事件在 asp.net mvc(4) 第二部分中的部分视图发布后停止工作 的相关文章

随机推荐

  • 使用 aws cli 获取 S3 存储桶的 ARN

    是否可以通过AWS命令行获取S3存储桶的ARN 我已经查看了文档aws s3api and aws s3 并且还没有找到一种方法来做到这一点 总是如此arn PARTITION s3 NAME OF YOUR BUCKET 如果您知道存储桶
  • 在方便的初始值设定项中使用 self = 来委托给 JSONDecoder 或 Swift 中的工厂方法,以避免“无法分配给值:'self' 是不可变的”

    有时在 Swift 中 为委托的类编写一个初始化程序可能会很方便JSONDecoder或工厂方法 例如 有人可能想写 final class Test Codable let foo Int init foo Int self foo fo
  • 备份使用git的项目

    在快速重新安装之前 我正在将我的东西刻录到 DVD 上 作为最近的用户 从来没有用 git 这样做过 所以我只是和你们核实一下 如果我理解正确的话 我只需要备份我的项目目录project name 其中有 git在它里面 一起监视隐藏文件
  • 在 Karma 运行所有测试之前执行角度代码?

    是否可以在 karma 中执行某种初始化编码 在执行测试之前 我需要运行这样的代码 angular module module common brand constant BRAND brandname 我的应用程序当前需要这个模块 和这个
  • 批量发送API调用

    我目前正在尝试模拟 50 万个 IoT 设备 以使用 Nodejs 将有效负载推送到 Azure IoT 中心 由于节点本质上是多线程的 因此它的物联网中心充满了数据 并且我收到了网络错误 我还尝试了异步 等待方法 但这需要花费大量时间将数
  • 使用 SciPy 拟合贝塞尔曲线

    我有一组近似二维曲线的点 我想使用 Python 与 numpy 和 scipy 来查找近似拟合点的三次贝塞尔路径 其中我指定两个端点的精确坐标 并返回其他两个控制点的坐标 我最初以为scipy interpolate splprep 可能
  • PHP - 小时差(HH:MM 格式)

    我正在尝试计算在这里工作的人的轮班模式 从结束时间中减去开始时间在很大程度上是可行的 但如果他们通宵工作则不行 例如某人工作于10pm to 6am将显示为 22 00 06 00 我希望它能回来8 hours 但我就是想不出最好的方法 令
  • 谷歌图表趋势线未显示

    我有一个 Google 图表折线图 我想在其上显示趋势线 但它没有显示 数据是从数据库中获取的 而 JavaScript 是由 PHP 生成的 但生成的 JavaScript 如下所示
  • LINQ 查询中的分组依据

    我有一个 DataTable 我想在其中执行 GroupBy 查询 year url type id someurl image 0 2003 date 0 someurl image 1 2009 date 1 我已成功对我的 ID 进行
  • WPF 动画“无法冻结此情节提要时间线树以供跨线程使用”

    我当前有一个列表框 其所选项目绑定到我的 ViewModel 上的属性 每当所选项目不为空时 我想对其执行动画 但是我不断收到以下错误 无法冻结此情节提要时间线树以供跨线程使用 并通过研究了解为什么会发生这种情况 但是我不确定需要采取什么方
  • 如何分组并获取具有 X max 的 Y 列的值? [复制]

    这个问题在这里已经有答案了 我有一个以前从未遇到过的用例 我有以下数据框 并且想要选择 y 的值 其中 x 分别为条件 i 的每个级别实现其最小值和最大值 gt library dplyr gt df lt data frame i c 1
  • 在 ubuntu 20.04 上运行 Tensorflow 时出现“无法加载动态库 'libcudnn.so.8'”

    注意 有很多类似的问题 但是针对不同版本的 ubuntu 和有些不同的特定库 我一直无法弄清楚符号链接 其他环境变量的组合 例如LD LIBRARY PATH会工作 这是我的nvidia配置 nvidia smi Tue Apr 6 11
  • 相当于 dash shell 中的 pipelinefail

    有没有类似的选项dash外壳对应于pipefail in bash 或者如果管道中的命令之一失败 但不退出 则获得非零状态的任何其他方式 set e would 为了更清楚地说明这一点 这是我想要实现的目标的示例 在示例调试 makefil
  • 在 Slack 中合并消息菜单和消息按钮

    我想在我的 Slack 应用程序中结合消息菜单和消息按钮 这是我想要实现的工作流程 1 用户发出斜杠命令来显示菜单 该菜单将有一个下拉菜单和三个按钮 这是我能够实现的 2 我希望用户从下拉列表中选择一个选项 然后按任何操作按钮 然后只应触发
  • Warshall算法思想及改进[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 Warshall Floyd 算法 https en wikipedia org wiki Floyd E2 80 93Warshall a
  • 基于点的线/平面相交

    我在空间中有两个点 L1 和 L2 它们定义了一条线上的两个点 我在空间中有三个点 P1 P2 和 P3 这三个点在平面上 那么给定这些输入 直线在什么点与平面相交 外汇 平面方程 A x B y C z D 0 为 A p1 Y p2 Z
  • 我可以让一个标识字段跨越 SQL Server 中的多个表吗?

    我可以有一个跨多个表的 身份 唯一的 非重复的 列吗 例如 假设我有两个表 书籍和作者 Authors AuthorID AuthorName Books BookID BookTitle BookID 列和AuthorID 列是标识列 我
  • 检测滚动方向

    所以我尝试使用 JavaScripton scroll调用函数 但我想知道是否可以在不使用 jQuery 的情况下检测滚动的方向 如果没有那么有什么解决方法吗 我本来想只放一个 到顶部 按钮 但如果可以的话我想避免这种情况 我现在刚刚尝试使
  • Winsock,仅接受来自特定IP地址的请求

    如何使 Winsock 程序仅接受来自特定地址的连接请求 我希望完全忽略被拒绝的连接 而不是得到 TCP 拒绝 要使 Winsock 程序仅接受来自特定 IP 地址的连接 请使用以下条件接受机制WSAAccept http msdn mic
  • jQuery 事件在 asp.net mvc(4) 第二部分中的部分视图发布后停止工作

    I have a View with the following layout The parent View is composed of several PartialViews One of which is a list where