一个封装的在后台弹出JS Alert消息和JS confirm信息以及跳转到指定的页面

//如果是单独放在一个类中,记得要引用System.Web.Extensions,否则 ScriptManager不能用

/******************************************************

 *  Author: 肖煕金

 *  Description:在後台註冊JavaScript腳本彈出信息對話框及確認對話框

 *  Date: 2008-12-27 

 *  注意: 當前的代碼傪適合於在asp.net 2.0,並且安裝了AJAX Extensions 1.0的環境中使用

 *  因為當前的類引用了System.Web.Extensions這個ajax命名空間

*******************************************************/

using System;

using System.Collections.Generic;

using System.Text;

using System.Web;

using System.Web.UI;


///在後台註冊JavaScript腳本彈出信息對話框及確認對話框(需要有MS AJAX環境)

namespace ScriptAlert

{

    /// <summary>

    ///  在後台註冊JavaScript腳本彈出信息對話框及確認對話框(需要有MS AJAX環境)

    /// </summary>

    public class Script

    {

        /// <summary>

        /// 在後台註冊JavaScript腳本彈出信息對話框及確認對話框(需要有MS AJAX環境)

        /// </summary>

        public Script() { }



        

        /// <summary>

        ///  Javascript方式彈出消息對話框

        /// </summary>

        /// <param name="message">要彈出的消息內容</param>

        /// <param name="page">當前頁面,參數可以直接寫:this 或 Page</param>

        public static void Alert(string message, Page page)

        {

            page.ClientScript.RegisterStartupScript(page.GetType(), null, "alert('" + message + "');", true);

        }



        /// <summary>

        /// 向頁面註冊javascript腳本,這種方式是很靈活的,可以在頁面上註冊任何你想要的js腳本

        /// </summary>

        /// <param name="scriptContent">Javascript腳本的內容,記得不要在腳本兩端加script標誌,script標志程序會自動生成</param>

        /// <param name="page">當前頁面,參數可以直接寫:this 或 Page</param>

        public static void RegisterScript(string scriptContent, Page page)

        {

            page.ClientScript.RegisterStartupScript(page.GetType(), null, scriptContent, true);

        }




        /// <summary>

        /// javascript彈出消息後,跳轉到指定的URL鏈接頁面  

        /// </summary>

        /// <param name="message">要彈出的消息內容</param>

        /// <param name="pageUrl">要跳轉到的頁面鏈接,站內鏈接請填寫相對路徑,站外的鏈接需要加上"http://",如"http://www.baidu.com"</param>

        /// <param name="page">當前頁面,參數可以直接寫:this 或 Page</param>

        public static void AlertAndGotoUrl(string message, string pageUrl, Page page)

        {

            string strScript = "alert('" + message + "');window.location.href='" + pageUrl + "';";

            page.ClientScript.RegisterStartupScript(page.GetType(), null, strScript, true);

        }





        /// <summary>

        /// 利用Ajax的方式彈出消息對話框,這種方式主要用於在用戶控件和UpdatePanel控件中使用,在頁面中也可以使用 

        /// </summary>

        /// <param name="message">要彈出的消息內容</param>

        /// <param name="controlId">控件的ID屬性名稱,用戶控件和頁面中參數為:this,UpdatePanel控件中參數為當前UpdatePanel控件的ID屬性名稱</param>

        public static void AjaxAlert(string message, Control controlId)

        {

            ScriptManager.RegisterStartupScript(controlId, controlId.GetType(), null, "alert('" + message + "');", true);           

        }




        /// <summary>

        /// 利用Ajax的方式向控件(用戶控件和UpdatePanel)或頁面註冊Javascript腳本,這種方式主要用於在用戶控件和UpdatePanel控件中使用,在頁面中也可以使用 

        /// </summary>

        /// <param name="scriptContent">Javascript腳本的內容,記得不要在腳本兩端加script標志,script標志程序會自動生成</param>

        /// <param name="controlId">控件的ID屬性名稱,用戶控件和頁面中參數為:this,UpdatePanel控件中參數為當前UpdatePanel控件的ID屬性名稱</param>

        public static void AjaxRegisterScript(string scriptContent, Control controlId)

        {

            ScriptManager.RegisterStartupScript(controlId, controlId.GetType(), null, scriptContent, true);

        }




        /// <summary>

        ///利用Ajax的方式彈出消息對話框後,跳轉到指定的URL鏈接頁面,這種方式主要用於在用戶控件和UpdatePanel控件中使用,在頁面中也可以使用 

        /// </summary>

        /// <param name="message">要彈出的消息內容</param>

        /// <param name="pageUrl">要跳轉到的頁面鏈接,站內鏈接請填寫相對路徑,站外的鏈接需要加上"http://",如"http://www.baidu.com"</param>

        /// <param name="controlId">控件的ID屬性名稱,用戶控件和頁面中參數為:this,UpdatePanel控件中參數為當前UpdatePanel控件的ID屬性名稱</param>

        public static void AjaxAlertAndGotoUrl(string message, string pageUrl, Control controlId)

        {

            string strScript = "alert('" + message + "');window.location.href='" + pageUrl + "';";

            ScriptManager.RegisterStartupScript(controlId, controlId.GetType(), null, strScript, true);

        }





        /// <summary>

        /// Javascript彈出確認對話框後,並跳轉到指定的URL鏈接頁面

        /// </summary>

        /// <param name="message">要彈出的消息內容</param>

        /// <param name="okGotoUrl">選擇確認(OK)按鈕後要跳轉到的頁面URL,站內鏈接寫相對路徑,站外鏈接需加"http://"</param>

        /// <param name="cancelGotoUrl">選擇取消(Cancel)按鈕後要跳轉到的頁面URL,如果參數為Null或空字符""則返回false(不跳轉),站內鏈接寫相對路徑,站外鏈接需加"http://"</param>

        /// <param name="page">當前頁面,參數可以直接寫:this 或 Page</param>

        public static void ConfirmAndGotoUrl(string message, string okGotoUrl, string cancelGotoUrl, Page page)

        {

            string strScript = "";

            if (String.IsNullOrEmpty(cancelGotoUrl))

            {                 

                strScript = "if(confirm('" + message + "')==true){window.location.href='" + okGotoUrl + "';} else {return false;}";

            }

            else

            {

                strScript = "if(confirm('" + message + "')==true){window.location.href='" + okGotoUrl + "';} else{window.location.href='" + cancelGotoUrl + "';}";

            }


            page.ClientScript.RegisterStartupScript(page.GetType(), null, strScript, true);

        }


        

        /// <summary>

        /// Javascript彈出確認對話框後,並執行指定的Javascript腳本

        /// </summary>

        /// <param name="message">要彈出的消息內容</param>

        /// <param name="okToScript">選擇確認(OK)按鈕後要執行的javacript腳本內容</param>

        /// <param name="cancelToScript">選擇取消(Cancel)按鈕後要執行的javacript腳本內容,如果參數為Null或空字符""則返回false</param>

        /// <param name="page">當前頁面,參數可以直接寫:this 或 Page</param>

        public static void ConfirmAndExecuteScript(string message, string okToScript, string cancelToScript, Page page)

        {


            string strScript = "";

            if (String.IsNullOrEmpty(cancelToScript))

            {

                strScript = "if(confirm('" + message + "')==true){"+okToScript+"} else{return false;}";

            }

            else

            {

                strScript = "if(confirm('" + message + "')==true){" + okToScript + "} else{" + cancelToScript + "}";

            }


            page.ClientScript.RegisterStartupScript(page.GetType(), null, strScript, true);


        }




        /// <summary>

        /// 利用Ajax方式彈出確認對話框後,並跳轉到指定的URL鏈接頁面,適合於控件(用戶控件和UpdatePanel控件中)和頁面中

        /// </summary>

        /// <param name="message">要彈出的消息內容</param>

        /// <param name="okGotoUrl">選擇確認(OK)按鈕後要跳轉到的頁面URL,站內鏈接寫相對路徑,站外鏈接需加"http://"</param>

        /// <param name="cancelGotoUrl">選擇取消(Cancel)按鈕後要跳轉到的頁面URL,如果參數為Null或空字符""則返回false(不跳轉),站內鏈接寫相對路徑,站外鏈接需加"http://"</param>

        /// <param name="controlId">控件的ID屬性名稱,用戶控件和頁面中參數為:this,UpdatePanel控件中參數為當前UpdatePanel控件的ID屬性名稱</param>

        public static void AjaxConfirmAndGotoUrl(string message, string okGotoUrl, string cancelGotoUrl, Control controlId)

        {

            string strScript = "";

            if (String.IsNullOrEmpty(cancelGotoUrl))

            {

                strScript = "if(confirm('" + message + "')==true){window.location.href='" + okGotoUrl + "';} else {return false;}";

            }

            else

            {

                strScript = "if(confirm('" + message + "')==true){window.location.href='" + okGotoUrl + "';} else{window.location.href='" + cancelGotoUrl + "';}";

            }

            

            ScriptManager.RegisterStartupScript(controlId, controlId.GetType(), null, strScript, true);             

        }



        /// <summary>

        /// 利用Ajax方式彈出確認對話框後並執行指定的Javascript腳本

        /// </summary>

        /// <param name="message">要彈出的消息內容</param>

        /// <param name="okToScript">選擇確認(OK)按鈕後要執行的javacript腳本內容</param>

        /// <param name="cancelToScript">選擇取消(Cancel)按鈕後要執行的javacript腳本內容,如果參數為Null或空字符""則返回false</param>

        /// <param name="controlId">控件的ID屬性名稱,用戶控件和頁面中參數為:this,UpdatePanel控件中參數為當前UpdatePanel控件的ID屬性名稱</param>

        public static void AjaxConfirmAndExecuteScript(string message, string okToScript, string cancelToScript, Control controlId)

        {

             

            string strScript = "";

            if (String.IsNullOrEmpty(cancelToScript))

            {

                strScript = "if(confirm('" + message + "')==true){" + okToScript + "} else{return false;}";

            }

            else

            {

                strScript = "if(confirm('" + message + "')==true){" + okToScript + "} else{" + cancelToScript + "}";

            }

            ScriptManager.RegisterStartupScript(controlId, controlId.GetType(), null, strScript, true);  

        }

    }

}

源代码下载:/Files/xiaoxijin/Script.7z

 

dll文件下载:/Files/xiaoxijin/ScriptAlert.7z


 

转载于:https://www.cnblogs.com/xiaoxijin/archive/2008/03/23/1118172.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值