【问题标题】:Calling Jquery Dialog inside Update Panel in master page在母版页的更新面板中调用 Jquery 对话框
【发布时间】:2014-05-14 09:05:52
【问题描述】:

我必须在母版页的更新面板中显示一个对话框弹出窗口。它由也在母版页中的 ASP_timer 的 tick_event 调用。问题是在更新面板内时不会弹出对话框。如果将其放在更新面板之外,则整个页面都会刷新并弹出窗口,但我不希望那样。 任何帮助,将不胜感激。 这是相同的代码: 在母版页中:

<script type="text/javascript">
    function OpenDialog() {
        $("#divEx").dialog();
    }
</script>
<asp:Timer ID="Timer1" runat="server" Interval="30000" Tick="Timer_Tick"></asp:Timer>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <div id="divEx">"Hello Dialog"</div>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
    </Triggers>
</asp:UpdatePanel>

在 .Cs 中:

protected void Timer_Tick(object sender, EventArgs e)
{
    System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "myfunction", "OpenDialog();", true);
}

【问题讨论】:

    标签: jquery asp.net c#-4.0


    【解决方案1】:

    如果您只想显示弹出窗口,那么为什么要使用计时器。

    您可以创建一个 JavaScript 函数来在您的消息中显示警报,并使用 setTimeout 方法在确定的时间间隔后调用它。

    【讨论】:

    • 这里我没有写任何额外的代码,但是在 Timer_tick 中,还有一些计算,比如插入数据库等,只需要在服务器端完成。
    • 为什么只有服务器端?您当然可以使用 JS 进行 AJAX 调用来执行任何数据库操作。
    • 没错@Dean.DePue。您可以使用 AJAX 调用或 PageMethods 通过 JS 调用服务器端方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多