如果 ASP.NET 中存在值,我有一些 JavaScript 会显示通知Session
。这可能不是我现在正在学习的最佳解决方案,但这里是代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Session["Alert"] != null)
{
Page.ClientScript.RegisterStartupScript(GetType(), "alert", Session["Alert"].ToString());
Session["Alert"] = null;
}
}
}
Session["Alert"]
具有显示通知的 JS 功能:
Session["Alert"] = "showAlert('test')";
function showAlert(msg) {
alert(msg);
}
如果已为其分配了值,则代码将成功运行并显示通知。单击浏览器的后退按钮,然后单击前进按钮会再次显示警报,因为页面没有经历其生命周期。
如何防止警报多次显示?我尝试添加一个全局 JavaScript 变量,例如var alertShown = false;
并在函数中检查它,showAlert
但这不起作用。
有没有一种跨浏览器的方法可以解决这个问题?