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

How do I hide all previous message boxes before showing the target one

本文关键字:消息 隐藏所 目标 显示      更新时间:2023-09-26

我使用Pines通知JQuery插件向用户显示消息框,以显示一些警报。

我的问题有两个部分:

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

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_remove_all();应该可以工作。在演示页面上甚至有一个例子(删除所有通知)…

试着使用以下语句:

$(窗口)。数据("pnotify",[]);

如果这两个脚本在同一个类中,第二个要运行的脚本将覆盖原始脚本,因为两个RegisterStartupScript()调用的密钥"Sticky Notice"是相同的。据我所知,它们必须是独一无二的。修改其中一个或两个就可以了。