JavaScript 幾個常用的彈出對話框提示案例

在Asp.net 2.0 開發過程中,常會需要用到彈出對話框提示,我做了簡單的封裝,使用方便,貼出來。

    public class Jscript
    {
        private static string s1 = "<script language='JavaScript'>";
        private static string s2 = "</script>";

        private static string Quote(string str)
        {
            if (string.IsNullOrEmpty(str))
            {
                return str;
            }
            else
            {
                return str.Replace("'", "\\'");
            }
        }

        private static void Write(string str)
        {
            HttpContext.Current.Response.Write(str);
        }

        /// <summary>
        /// 提示消息
        /// </summary>
        /// <param name="strMsg"></param>
        public static void alert(string strMsg)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(s1);
            sb.AppendFormat("alert('{0}');", Quote(strMsg));
            sb.Append(s2);
            Write(sb.ToString());
        }

        /// <summary>
        /// 提示消息並返回
        /// </summary>
        /// <param name="strMsg"></param>
        public static void alertAndBack(string strMsg)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(s1);
            sb.AppendFormat("alert('{0}');history.go(-1)", Quote(strMsg));
            sb.Append(s2);
            Write(sb.ToString());
        }

        /// <summary>
        /// 提示消息並跳轉
        /// </summary>
        /// <param name="strMsg"></param>
        public static void AlertAndGoto(string strMsg, string strUrl)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(s1);
            sb.AppendFormat("alert('{0}');location.href='{1}';", Quote(strMsg), strUrl);
            sb.Append(s2);
            Write(sb.ToString());
        }

        /// <summary>
        /// 提示消息並關閉(刷新父窗體)
        /// </summary>
        /// <param name="strMsg"></param>
        public static void alertAndClose(string strMsg)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(s1);
            sb.AppendFormat("alert('{0}');window.opener.location.reload();window.close();", Quote(strMsg));
            sb.Append(s2);
            Write(sb.ToString());
        }

        /// <summary>
        /// 提示消息並關閉
        /// </summary>
        /// <param name="strMsg"></param>
        public static void alertAndClosePage(string strMsg)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(s1);
            sb.AppendFormat("alert('{0}');window.close();", Quote(strMsg));
            sb.Append(s2);
            Write(sb.ToString());
        }

        /// <summary>
        /// 提示消息並打開新的
        /// </summary>
        /// <param name="strMsg"></param>
        public static void alertAndOpen(string strMsg, string strUrl)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(s1);
            sb.AppendFormat("alert('{0}');window.open('{1}');window.close();", Quote(strMsg), Quote(strUrl));
            sb.Append(s2);
            Write(sb.ToString());
        }

        // <summary>
        /// 提示消息並跳轉,關閉自窗體
        /// </summary>
        /// <param name="strMsg"></param>
        public static void AlertAndGotoAndClose(string strMsg, string strUrl)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(s1);
            sb.AppendFormat("alert('{0}');window.parent.opener.location.href='{1}';window.close();", Quote(strMsg), strUrl);
            sb.Append(s2);
            Write(sb.ToString());
        }
    }


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章