自动关闭AJAX插入的引导程序警报消息?

时间:2015-07-01 23:54:36

标签: jquery ajax vb.net twitter-bootstrap

我很难获得自动关闭的引导警报消息。

警报用户界面

<div class="alert-message fade in info " runat="server" id="AlertMessage">
    <div class="box-icon"></div>
    <p>
        <asp:Label ID="lblmsg" runat="server" Text="test"></asp:Label>
        <a href="#" class="close" >&times;</a>
    </p>
</div>

VB Code-Behind

 lblmsg.Text = Message
 AlertMessage.Attributes.Add("class", "alert-message fade in info")
 RadAjaxPanel_alerts.ResponseScripts.Add(String.Format("$find('{0}').ajaxRequest();", RadAjaxPanel_alerts.ClientID))

的Javascript

$(document).ready(function () { 
    $(".close").click(function () { 
        $(".alert-message").alert('close'); 
    }); 
});
$(".alert-message").delay(5000).fadeTo(900, 0).slideUp(500, function () { 
    $(this).remove(); 
});

您可以看到,当页面请求警报时,会显示AJAX面板。但是,除非重新加载整页,否则面板不会自动关闭。我的假设是JS运行并且没有找到div,因为它当时不在dom中。我无法完全了解其余部分。

更新面板内的JavaScript 将javascript放在更新面板中将导致在触发更新面板时触发它。这引发了一个新问题。如果页面是回发,那么将显示DIV,然后是.AjaxRequest();将呼叫,导致DIV再次显示。

2 个答案:

答案 0 :(得分:0)

将您的代码更改为:

$(".alert-message").delay(5000).fadeOut(1000);

答案 1 :(得分:0)

尝试添加此$ .ajaxSetup({async:true});在脚本代码中。或者尝试添加$(&#39; action_element&#39;)。unbind();