防止来自 __doPostBack 的完全回发

2024-03-14

我有一个内容页面,其中包含以下内容...

  1. UpdatePanel1 - 包含错误显示 Div
    包含两个按钮的更新触发器
  2. UpdatePanel2 - 包含带有 asp:button 的进程 1
  3. updatePanel3 - 包含带有 asp:button 的进程 2
  4. JavaScript 根据用户正在执行的进程向用户显示弹出确认 Jquery Messagebox。

UpdatePanel 2 或 3 根据用户从菜单选项中的选择而变得可见。

当我单击按钮时,消息框会弹出,并且使用消息框响应中的 __doPostback 正确处理页面,并且页面会进行完整的回发。

我宁愿页面进行部分回发及其内容,并在出现错误时显示错误显示 Div。任何援助将不胜感激。

按钮没什么特别的

<asp:Button ID="ResetSomething" runat="server" Text="ResetSomething" Width="275px" />

这是内容页脚本块

    <script type="text/javascript" language="javascript">
<!--
    function pageLoad() {
        setform();

    };

    function setform() {
        var reset1_button = $('input[id*=ResetSomething]');
        var reset2_button = $('input[id*=ResetSomethingElse]');

        reset1_button.click(function() {
            var element = $(this);
            $.prompt('Message1', { show: 'slideDown', buttons: { Ok: true, Cancel: false },
                submit: function(v, m, f) { submit_reset_callback(v, m, element); }
            });
            return (false);
        });

        var submit_reset_callback = function(result, messages, element) {
            if (result) { __doPostBack("ResetSomething");}
            return (false);
        };

        reset2_button.click(function() {
            var element = $(this);
            $.prompt('Message2', { show: 'slideDown', buttons: { Ok: true, Cancel: false },
                submit: function(v, m, f) { submit_update_callback(v, m, element); }
            });
            return (false);
        });

        var submit_update_callback = function(result, messages, element) {
            if (result) { __doPostBack("ResetSomethingElse"); }
            return (false);
        };
    };     
-->
</script>

这是 OnInit 背后的代码:

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        this.PreLoad += (sender, args) =>
                            {

                                this.ClientScript.GetPostBackEventReference(this, "arg");

                                if (!IsPostBack) { return; }

                                string __targetaction = this.Request["__EVENTTARGET"];
                                string __args = this.Request["__EVENTARGUMENT"];

                                if (string.IsNullOrEmpty(__args)) return;

                                if (__targetaction == "ResetSomething")
                                {
                                    ResetSomething();
                                }
                                if (__targetaction == "ResetSomethingElse")
                                {
                                    ResetSomethingElse();
                                }
                                this.upnlNotifications.Update();
                            };
    }

定义下面的函数并替换您的__doPostBack打电话给doPostBackAsync(controlId, null).

function doPostBackAsync(eventName, eventArgs) {
    var prm = Sys.WebForms.PageRequestManager.getInstance();

    if (!Array.contains(prm._asyncPostBackControlIDs, eventName)) {
        prm._asyncPostBackControlIDs.push(eventName);
    }

    if (!Array.contains(prm._asyncPostBackControlClientIDs, eventName)) {
        prm._asyncPostBackControlClientIDs.push(eventName);
    }

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

防止来自 __doPostBack 的完全回发 的相关文章

  • 弹出 x86 堆栈以访问函数 arg 时出现分段错误

    我正在尝试链接 x86 程序集和 C 我的C程序 extern int plus 10 int include
  • 在 T4 代码生成中,如何从引用的程序集中获取类型?

    由于 T4 在项目上下文之外运行 因此我无权访问当前程序集或其他程序集 如何注册对引用程序集的访问 然后从中获取类型 我猜您想访问项目中建筑物的程序集 我在下面的示例代码中所做的是将一个名为 TestLib 的项目添加到我的解决方案中 我将
  • 我们什么时候应该在.NET中使用NativeMemory.Alloc()? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 NET6 C 引入NativeMemory类 但我不知道什么时候应该使用NativeMemory Alloc 而不是普通的数组实例化
  • 如何检查给定调用站点的重载决策集

    如何检查重载解析集 我在多个调用站点中使用了 4 个相互竞争的函数 在一个调用站点中 我期望调用一个函数 但编译器会选择另一个函数 我不知道为什么 这不是微不足道的 为了了解发生了什么 我正在使用enable if disable if打开
  • 如何在 NUnit 测试中使用 Selenium 获取 javascript 日志?

    我正在尝试使用 Selenium ChromeDriver 从 Visual Studio 上的 NUnit 测试中检索 Javascript 控制台日志 但我在日志上得到空值 我已经尝试了下面的代码 但它会在 driver Manage
  • 代码块 - 使用大地址感知标志进行编译

    如何使用以下命令在 64 位系统上编译 32 位应用程序LARGE ADRESS AWARE使用代码块标记 我需要使用超过 2GB 的内存 应该是添加的情况 Wl large address aware到链接标志 我不使用 CodeBloc
  • 如何制作实时jquery效果?

    我想制作一个实时提要阅读器 并且我想要一个解决方案 使新项目无需刷新页面即可出现 并且具有像friendfeed一样的滚动效果 你可以在这里看到我在说什么 http www vimeo com 4029954 http www vimeo
  • Bazel:将编译标志添加到默认 C++ 工具链

    我想向默认的 C 工具链添加一些编译器和链接器标志 以便我构建的所有目标 本地或导入 共享它们 我知道可以定义我自己的工具链 但我不想这样做 因为它非常复杂且容易出错 理想情况下我想要这样的东西 cc toolchain cc defaul
  • 为什么 std::atomic 比 volatile bool 慢很多?

    多年来我一直使用 volatile bool 来控制线程执行 并且效果很好 in my class declaration volatile bool stop In the thread function while stop do th
  • 使用 C# 的异步 WebRequest

    您好 我有一个函数 它将 url Get 参数传递到网络服务器上的 php 文件 并等待文件的响应 通常需要 10 20 秒 我想将其放入一个循环中 因为我必须一次将这些 Get 请求发送到大约 5 个不同的 php 文件 但是当我尝试将其
  • 在 boost 元组、zip_iterator 等上使用 std::get 和 std::tie

    我有哪些使用选择std get lt gt and std tie lt gt 与增强结构一起 例子 我想使用基于范围的 for 循环在多个容器上进行迭代 我可以实施zip函数 它使用boost zip iterator include
  • 为什么将未使用的返回值转换为 void?

    int fn void whatever void fn 是否有任何理由将未使用的返回值强制转换为 void 或者我认为这完全是浪费时间 David s answer https stackoverflow com questions 68
  • 来自用户定义文字的整数字符序列,以字符串作为参数

    目前 只有双精度数可以在用户定义的文字中生成字符模板 template
  • OpenSSL:无需 SSL_read() / SSL_write() 即可执行加密/解密

    我已经用 C 语言编写了一个基于事件的网络库 现在我想通过 OpenSSL 添加 SSL TLS 支持 而不是使用SSL read and SSL write 我宁愿让 OpenSSL 只执行传出 传入数据的加密 解密 让我自己传输 接收数
  • 在 C++ 中什么时候首选传递指针而不是引用传递?

    我可以想象一种情况 其中输入参数可以为 NULL 以便首选传递指针而不是传递引用 有人可以添加更多案例吗 在传递的对象实际上将被修改的情况下 有些人更喜欢传递指针 当对象通过引用传递时 它们使用 pass by const referenc
  • 为什么 getch 不可移植?

    是什么使得 getch 本质上无法作为标准 C 函数包含在内 对于控制台界面来说 它是如此直观和优雅 如果没有它 要求输入单个字符总是会产生误导 因为用户可以输入多个键 更糟糕的是 您经常需要确保在读取控制台输入后清除标准输入 这甚至不是作
  • 查找文本文件中每行的行大小

    如何计算每行中的字符或数字数量 是否有类似 EOF 的东西更像是行尾 您可以遍历行中的每个字符并不断增加计数器直到行尾 n 遇到 确保以文本模式打开文件 r 而不是二进制模式 rb 否则流不会自动将不同平台的行结束序列转换为 n 人物 这是
  • 如何在c#中获取斐波那契数

    伙计们 我有一个关于斐波那契的问题 如何获得斐波那契数列 该数字也将以用户输入结束 例如 如果我输入 21 则输出必须为 0 1 1 2 3 5 8 13 21 这是我的代码 static void Main string args int
  • 在地图上使用 find

    如何使用 find 和 aconst iterator如果你有一个地图定义为 typedef std pair
  • 如果列表在初始化之前为空,则 jQuery 可排序无法与水平列表正常工作

    如果我在初始化后将元素添加到列表中 sortable它无法正常工作 参见示例jsFiddle http jsfiddle net NQMPr 1 示例 HTML div class container div br

随机推荐

  • 单击鼠标在画布中绘制实心圆

    我想通过鼠标单击在画布上绘制一个填充 或未填充 的圆圈 但我无法让我的代码正常工作 我已经尝试了几乎所有方法 这是我的 HTML div div
  • MonthGenitiveNames 和 MonthNames 之间有什么区别?为什么月份有空白?

    我很困惑MonthGenitiveNames and MonthNames 两者的值都有月份名称 那么它们之间有什么区别MonthGenitiveNames and MonthNames 还有为什么一个月是 空白 如果您查看两者的值 就会发
  • ListView 滚动问题:项目选择时

    我有 Listview 我试图用它来显示我的自定义适配器 一切正常 除了当我选择列表项并滚动它时 未选择的项目已经被选择 我真的不明白我的问题是什么列表显示 这是我的课 Override protected void onCreate Bu
  • 如果文件存在,如何在 MSBuild 中导致错误?

    我们有一个在夜间构建之前运行的流程 如果该过程失败 它将生成一个文本文件 我需要做的就是检查该文件是否存在 如果存在 则会导致 MSBuild 失败 我目前已尝试以下操作
  • 为什么我们不能通过索引访问元组的元素?

    tuple
  • Java泛型方法的继承和覆盖规则

    我有一个具有泛型方法的抽象类 我想通过用特定类型替换泛型参数来覆盖泛型方法 所以在伪代码中我有以下内容 public abstract class GetAndParse public SomeClass var public abstra
  • shinydashboard 一些 Font Awesome 图标不起作用

    使用时shinydashboard我发现有些图标似乎有效 而有些则无效 在下面的示例中 电池充满图标不起作用 而时钟图标则工作正常 我无法弄清楚为什么会发生这种情况 library shiny library shinydashboard
  • 具有服务器端渲染 HTML 片段的骨干模型

    我想开始使用 Backbone js 来更好地构建我的 JavaScript 文件 但是 我不想重做我的应用程序以通过 API 仅输出 JSON 如果我错了 请纠正我 但到目前为止 我的印象是即使没有 JSON API 我仍然可以使用 Ba
  • Play Framework - 如何忽略 Json 序列化的某些字段?

    我有案例课 case class User id Option Long None username String password Option String None 这是该案例类的 json 序列化器 object User impl
  • Rails:如何更改页面标题?

    在不使用插件的情况下为 Rails 应用程序中的页面创建自定义标题的最佳方法是什么 在你看来 做这样的事情 h1 h1 布局文件中包含以下内容
  • Deedle - 按列区分

    前几天我遇到了一个情况 我的某个特定专栏Frame有一些重复的值 我想删除所述列具有重复值的任何行 我设法使用过滤器函数破解了一个解决方案 虽然它对于手头的探索性数据分析来说已经足够好了 但它应该更加痛苦 尽管四处寻找 我还是找不到任何关于
  • 数据表打印复杂表头打印预览

    您好 我正在使用数据表 它很棒 但我在像这样的复杂标头中遇到问题 thead tr td some text td tr tr td some text td tr thead now in showing page its like li
  • MAMP 未在 El Capitan 10.11.1 上启动 Apache 服务器

    因此 我在 Yosemite 上的 Apache 服务器上使用 MAMP 已经有一段时间了 我只需要一台本地主机 因此我使用常规 MAMP 而不是 MAMP Pro 我使用的是 MAMP 3 4 当我单击 启动服务器 按钮时 它不响应单击
  • mongoose .find() 方法返回具有不需要的属性的对象

    所以 我和猫鼬一起工作已经有一段时间了 我发现了一些非常奇怪的事情 如果有人能启发我 那就太好了 问题是 当使用 mongoose 的 find 方法时 我作为响应得到的对象充满了我不知道它来自哪里的属性 我猜测它们是内置属性 但无论如何
  • 有没有办法为 Class::DBI 提供缓存机制?

    我有一组相当复杂的 ORM 模块 它们继承自类别 DBI http search cpan org dist Class DBI 由于数据变化很少 我正在考虑在此之上使用缓存 记忆层来加快速度 我找到了一个模块 类 DBI 可缓存 http
  • Swift 中的飞利浦 HUE SDK

    我对斯威夫特很陌生 我确实有一些使用 Objective C 的经验 尽管距离我真正用它写过任何东西已经有两年了 我正在尝试将 Phillips HUE SDK 与 Swift 一起使用 但遇到了一些问题 我正在尝试将以下 Objectiv
  • form_for 中的 Rails 参数

    我正在制作一个用于更新或保存已保存消息的表单 subject recipients br
  • 寻找行为类似于 InRequestScope 的 Ninject 作用域

    在我的服务层上我注入了一个UnitOfWork以及构造函数中的 2 个存储库 工作单元和存储库有一个实例DbContext我想在他们两个之间分享 我怎样才能用 Ninject 做到这一点 应该考虑哪些范围 I am 不在网络应用程序中所以我
  • Prometheus 警报管理器不发送警报 k8s

    我使用 Prometheus Operator 0 3 4 和警报管理器 0 20 但它不起作用 即我看到警报被触发 在警报选项卡上的 Prometheus UI 上 但我没有收到任何电子邮件警报 通过查看日志 我看到以下内容 知道吗 请参
  • 防止来自 __doPostBack 的完全回发

    我有一个内容页面 其中包含以下内容 UpdatePanel1 包含错误显示 Div包含两个按钮的更新触发器 UpdatePanel2 包含带有 asp button 的进程 1 updatePanel3 包含带有 asp button 的进