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

时间:2011-07-10 12:46:56

标签: javascript jquery asp.net css ajax

我使用the Pines Notify JQuery Plugin向用户显示消息框以显示一些警报。

我的问题分为两部分:

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

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);
}

第二个问题是,我不知道应该在哪里显示消息(例如,“出现通知的最佳位置”是用户体验问题)。

3 个答案:

答案 0 :(得分:1)

运行$.pnotify_remove_all();应该有效。 demo page上有一个例子(删除所有通知)...

答案 1 :(得分:1)

尝试使用以下内容:

$(window).data(“pnotify”,[]);

对我来说效果很好。

答案 2 :(得分:0)

如果这两个脚本属于同一个类,则运行的第二个脚本将覆盖原始脚本,因为"Sticky Notice"个调用的密钥RegisterStartupScript()相同。从我记忆中,他们必须是独一无二的。改变一个或两个,他们应该工作。