asp.net使用Javascript弹出对话框

在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");
这样把他们包装起来后使用比较方便。但是也存在一个问题:在弹出了提示对话框后,用户返回或刷新,这时,对话框就是再次弹出来。、
这个问题困扰了我很久,抽时间一定将它解决
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值