ASP.net后台彈出消息對話框的方法!【轉】


在winform后台,我們通過MessageBox.show(“消息")的方式來返回后台信息,在webform后台,我們通過Response.write(”消息")來返回后台消息,但這樣需要將消息值以字符串形式顯示到前台頁面,是否有類似於MessageBox.show("消息")的方式彈出信息呢。我們會很快想到javascript的alert方法。通過在后台調用js來實現alert的調用。用法為:Response.write("<script>alert('"+value+"')</script>");
     當然,我們在ASP.NET程序的開發過程中,常常需要向用戶給出提示信息,比如是否“操作成功”,“確定”還是“取消”操作。
   
    (1) 點擊頁面上的按鈕,彈出一個對話框提示是“確定”還是“取消”操作,我們采用在按鈕中添加屬性來完成:
    例:
    public System.Web.UI.WebControls.Button btnDelRow;
    btnDelRow.Attributes.Add("onclick", "return confirm('確定要刪嗎?');"); 
 (2)點擊頁面上的鏈接,彈出一個對話框提示是“確定”還是“取消”操作,可在Page_Load()事件中,給希望給出確認提示的按鈕增加屬性:
    例:
    Link.Attributes.Add("onclick", "return confirm('你要執行這個操作嗎?');");

    (3) 對於頁面完成一個操作后,彈出一個對話框提示是否“操作成功”。
    例:
    Response.Write("<script>...alert('刪除成功!')</script>");

    (4)允許 ASP.NET 服務器控件在 Page 中發出客戶端腳本塊:
    public virtual void RegisterStartupScript(string key,string script);   
    例:
    if(!this.IsStartupScriptRegistered("hello"))
    this.RegisterStartupScript("hello","<script>...alert('你好!')</script>"); 

 

彈出“確定”對話框:
Response.Write("<Script Language=JavaScript>...alert('消息!');</Script>");

彈出“確定”對話框,點擊后跳轉頁面:
Response.Write("<Script Language=JavaScript>...alert('消息!');window.navigate('../index.aspx');</Script>");

彈出“確定”和“取消”對話框,點擊“確定”后執行相關操作:
方法一:在Page_Load事件中,寫入Button1.Attributes["onClick"]="javascript:return confirm('你確認要刪除嗎?');" ,然后在Button1_OnClick事件中寫入您的執行代碼。
方法二:直接在Button1_OnClik事件中寫入
Response.Write("<Script Language=JavaScript>...if(confirm('你確認要刪除嗎?'))...{window.navigate('doDelete.aspx');} </Script>"); 方法二需要跳轉到另一個頁面執行操作,比方法一稍繁瑣些,不過怎樣用還看具體情況。


收集到的。用具類


using System;


/// <summary>
/// Alert 的摘要說明。
/// </summary>
public class Alert
{
 public static void ShowAlert(string message)
 {
        if(message==null)
            message = "";
  //ljj 
  //2005-12-9
  message=message.Replace("  ",""");
  System.Web.HttpContext.Current.Response.Write("<script>...alert('"+message+"');</script>");
 }
 public static void ShowAlert(string message,string url)
 {
        if(message==null)
            message = "";
        message = message.Replace("  ", """);
  System.Web.HttpContext.Current.Response.Write("<script>...alert(""+message+"");location='"+url+"';</script>");
 }
    public static void ShowConfirmAlert(string message, string confirmurl, string cancelurl)
    ...{
        if (message == null)
            message = "";
        message = message.Replace("  ", """);
        System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { document.location.href='" + cancelurl + "' }</script>");
    }
    public static void ShowConfirmAlert(string message, string confirmurl)
    ...{
        if (message == null)
            message = "";
        message = message.Replace("  ", """);
        System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { window.history.back(); }</script>");
    }
    public static void Redirect(string url)
 ...{// 
  //
  if(url==null||url.Length<1)
   ShowAlert("重定向地址不能為空");
  else
     System.Web.HttpContext.Current.Response.Write("<script>location='"+url+"';</script>");
 }
 public static void SSOLoginRedirect(string url)
 ...{
   Redirect(url);
//   if(url==null||url.Length<1)
//    ShowAlert("重定向地址不能為空");
//   else
//    System.Web.HttpContext.Current.Response.Write("<script>if(window.parent!=window) window.parent.location=window.location; location='"+url+"';</script>");
 
 }
    public static void ShowAlert(string message,string url,bool IsRedirect)
    ...{
        
        if(message==null)
            message = "";
        if(IsRedirect)
            ShowAlert(message,url);
        else
            ShowAlert(message);
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM