javascript - 如何使用javascript获取updatepanel中的回发元素?

标签 javascript asp.net ajax postback

有没有办法使用javascript找出updatepanel中的回发元素?

我尝试了下面的代码,但 args.get_postBackElement().id 未定义。

script>
     Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);

     function BeginRequestHandler(sender, args) {
        try {
            args.get_request().set_userContext(args.get_postBackElement().id);
        }
        catch (e) {
        }
    }

    function EndRequestHandler(sender, args) {
        try {
            if (args.get_error() == undefined) {
                var sName = args.get_response().get_webRequest().get_userContext();
                if (sName == "btnDetails") {
                    //DoSomething();
                }
                else {
                    //DoSomethingelse();
                }
            }
        }
        catch (e) {
        }
    }

最佳答案

如果控件位于更新面板内,args.get_postBackElement() 返回 null。

尝试以下属性来找出元素:

sender._postBackSettings.async - 检测请求是否异步。

sender._postBackSettings.asyncTarget - 获取异步回发控件名称

$("*[name='sender._postBackSettings.asyncTarget']").attr('id') - 获取异步回发控件名称的 ID。 sender._postBackSettings.asyncTarget 应替换为值

关于javascript - 如何使用javascript获取updatepanel中的回发元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33128647/

相关文章:

javascript - 从 ajax 调用获取 HTML 或 JSON 响应,哪个好?

jquery - 通过 Ajax 动态列表人口选择 jQuery 并使用 Bootstrap Validator 进行验证

javascript - 使用 webpack 捆绑 NodeJS/TypeScript 应用程序的好处

c# - asp.net中的多行输入用于编辑数据库表

javascript - 将带有Javascript的音频文件添加到AmCharts

c# - Gridview ItemTemplate 中的 updatePanel 在回发时存在问题

c# - 在 .cshtml 页面中发送和接收数据

php - 使用 AJAX 从页面上的日志文件重新加载内容

javascript - 如何订阅返回 rxjs observable 的类方法?

javascript - JS 中的对象字面量内存性能