【问题标题】:Force a postback in Javascript for UpdatePanel?强制在 Javascript 中为 UpdatePanel 回发?
【发布时间】:2013-04-10 14:34:31
【问题描述】:

我有一个关闭模式的功能:

function closeModal(name) {
    $(name).modal('hide');
}

但是,我的页面也有一个更新面板,我需要触发它。

我尝试了__doPostBack('UpdatePanel1', ''),但没有成功。

谢谢

问题是这样的:

$(document).ready(function () {
    createAutoClosingAlert('.success_alert', 6000);
    if(<%# IsAPostBack() %>){
        if(window.parent != null){
            window.parent.closeEditModal();
            window.parent.closeCalendarModal();
            window.parent.closeModal('#projectModal');
            window.parent.closeModal('#scheduleModal');
        }
    }
});

我从父母那里调用它,所以我无法获得隐藏的 ID。

【问题讨论】:

    标签: javascript asp.net ajax updatepanel


    【解决方案1】:

    一种选择是在更新面板中放置一个隐藏按钮

    <div style="display:none">
      <asp:Button ID="Button2" runat="server" Text="Button" />
    </div>
    

    然后在你的脚本中调用以下代码

    document.getElementById('<%=Button2.ClientID%>').click();
    

    按钮点击会导致回发。

    你也可以看看Page.GetPostBackEventReference

    【讨论】:

    • 问题是我从父级调用它,所以我无法获取隐藏 ID。
    • 正确的想法,但不要使用按钮 - 而是使用链接按钮。 (按钮不接受点击提交)
    • @Aristos 我刚刚检查过,我有一个按钮,我想知道你使用的是什么浏览器?
    • @JackPettinger 该按钮被渲染为输入按钮,不包含任何javascript点击代码,链接按钮包含。现在我不知道你有什么测试,但是像按下按钮一样直接返回完整的javascript点击在任何浏览器上都不起作用。但如果你是正确的,米洛可能会选择你的答案。
    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 2011-02-02
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    相关资源
    最近更新 更多