asp.net使用Javascript弹出对话框

    技术2022-05-11  110

    在asp.net中经常会使用javascript弹出一些提示框,前段时间做了一个网站,因为要用到弹出提示框的情况比较多,就自己动手写了这样的一个类。主要包括如下静态方法:Show(),NoticeAndReturn(),NoticeAndReturn(),ConfirmAndReturn()  public class MessageBox     {         private const string SCRIPT = "/n<script language=/"javascript/">/nwindow.alert('{0}');/n</script>"; //         /// <summary>         /// 弹出提示对话框         /// </summary>         /// <param name="currentPage"></param>         /// <param name="message"></param>         public static void Show(System.Web.UI.Page currentPage, string message)         {             currentPage.ClientScript.RegisterStartupScript(currentPage.GetType(), Guid.NewGuid().ToString(), string.Format(SCRIPT, message));         }         private const string _scriptNoticeAndReturn = "alert('{0}');location.href = '{1}'";         //private const string _scriptConfirmAndReturn = "if (confirm('{0}')) window.open('{1}', '_self', true);";         private const string _scriptConfirmAndReturn = "if (confirm('{0}')) location.href = '{1}';";         private const string _scriptNoticeAndReturnRefer = "alert('{0}');window.open(document.referer, '_self');"; //         /// <summary>         /// 提示并返回到指定的页面         /// </summary>         /// <param name="message"></param>         /// <param name="url"></param>         public static void NoticeAndReturn(System.Web.UI.Page currentPage, string message, string url)         {             currentPage.ClientScript.RegisterStartupScript(currentPage.GetType(), "Message", string.Format(_scriptNoticeAndReturn, message, url), true);         } //         /// <summary>         /// 提示并返回到上一页         /// </summary>         /// <param name="currentPage"></param>         /// <param name="message"></param>         public static void NoticeAndReturn(System.Web.UI.Page currentPage, string message)         {             currentPage.ClientScript.RegisterStartupScript(currentPage.GetType(), "Message1", string.Format(_scriptNoticeAndReturnRefer, message), true);         } //         /// <summary>         /// 提示是否返回指定的页面         /// </summary>         /// <param name="currentPage"></param>         /// <param name="message"></param>         /// <param name="url"></param>         public static void ConfirmAndReturn(System.Web.UI.Page currentPage, string message, string url)         {             currentPage.ClientScript.RegisterStartupScript(currentPage.GetType(), "Message", string.Format(_scriptConfirmAndReturn, message, url), true);         }     } 具体的使用如: MessageBox.ConfirmAndReturn(this, "修改已成功,单击确定返回到首页", "Default.aspx"); 这样把他们包装起来后使用比较方便。但是也存在一个问题:在弹出了提示对话框后,用户返回或刷新,这时,对话框就是再次弹出来。、 这个问题困扰了我很久,抽时间一定将它解决

    最新回复(0)