Javascript 如何在显示目标消息框之前隐藏所有以前的消息框

Javascript 如何在显示目标消息框之前隐藏所有以前的消息框,javascript,jquery,asp.net,css,ajax,Javascript,Jquery,Asp.net,Css,Ajax,我使用向用户显示消息框来显示一些警报 我的问题分为两部分: 在显示消息之前,我尝试先通过以下方法删除所有以前的消息: protected void HideStatus() { ScriptManager hs = ScriptManager.GetCurrent(Page); string script = @"$.pnotify_remove_all();"; ScriptManager.RegisterStartupScript(Page, this.GetType

我使用向用户显示消息框来显示一些警报

我的问题分为两部分:

在显示消息之前,我尝试先通过以下方法删除所有以前的消息:

protected void HideStatus() {
    ScriptManager hs = ScriptManager.GetCurrent(Page);
    string script = @"$.pnotify_remove_all();";
    ScriptManager.RegisterStartupScript(Page, this.GetType(), "Sticky Notice", script, true);
}
……但这不起作用,我不知道为什么

我用于显示消息的方法如下:

protected void ShowStatus(string message, string title, string type, string hide) {
    string script = @"
        $.pnotify({
            pnotify_title:'" + title + "',
            pnotify_text: '" + message + "',
            pnotify_type: '" + type + "',
            pnotify_opacity: .9,
            pnotify_hide: '" + hide + "'
        });";

    ScriptManager.RegisterStartupScript(Page, this.GetType(), "Sticky Notice", script, true);
}


第二个问题是,我不知道消息应该出现在哪里(例如,作为一个用户体验问题,“通知最好出现在什么地方)。

运行
$.pnotify\u remove\u all()应该可以工作。如果这两个脚本在同一个类中,则要运行的第二个脚本将覆盖原始脚本,因为键“
”Sticky Notice“
对于两个
RegisterStartupScript()
调用都是相同的。根据我的记忆,它们必须是独一无二的。更改其中一个或两个选项都可以使用。

尝试使用以下选项:

$(窗口).data(“pnotify”,[])


这对我来说效果很好。

您是否尝试过使用ScriptManager.RegisterClientScriptBlock方法?当您调用
hideStatus
时,您会遇到什么类型的javascript错误?您问题的第二部分可能更好地询问用户体验()或程序员。仅当我调用此方法时,就不会出现错误
hideStatus()
然后我调用
ShowStatus()
没有会议出现。@w4ymo:是的,但仍然是相同的问题。我打赌作者知道存在
$。pnotify_remove_all()因为它在他的代码中使用它。