Bản in của bài viết

Click vào đây để xem bài viết này ở định dạng ban đầu

giun_da's Blog

Webmsgbox trong c#

Trong c# không có chức năng show msgbox giống như vb, dưới đây mình post 1 đoạn code  để các bạn có thể sử dụng chức năng này giống như vb.net
Cách sử dung rất đơn giản, bạn lưu file này với tên WebMsgBox.cs, sau đó add vào APP_code, khi sử dụng chỉ cần gọi webmsgbox.show("chuỗi muốn hiển thị");




using System;
using Microsoft.VisualBasic;
using System.Text;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

 
//nếu bạn sử dụng namespace thì phải khai báo nhé, ở đây mình ko dùng namspace :

 public class WebMsgBox
 {
  protected static Hashtable handlerPages = new Hashtable();   
  private WebMsgBox()
  {
  }
  public static void Show(string Message)
  {
   if (!(handlerPages.Contains(HttpContext.Current.Handler)))
   {
    Page currentPage = (Page)HttpContext.Current.Handler;
    if (!((currentPage == null)))
    {
     Queue messageQueue = new Queue();
     messageQueue.Enqueue(Message);
     handlerPages.Add(HttpContext.Current.Handler, messageQueue);
     currentPage.Unload += new EventHandler(CurrentPageUnload);
    }
   }
   else
   {
    Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));
    queue.Enqueue(Message);
   }
  }
  private static void CurrentPageUnload(object sender, EventArgs e)
  {
   Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));
   if (queue != null)
   {
    StringBuilder builder = new StringBuilder();
    int iMsgCount = queue.Count;
    builder.Append("<script language='javascript'>");
    string sMsg;
    while ((iMsgCount > 0))
    {
     iMsgCount = iMsgCount - 1;
     sMsg = System.Convert.ToString(queue.Dequeue());
     sMsg = sMsg.Replace("\"", "'");
     builder.Append("alert( \"" + sMsg + "\" );");
    }
    builder.Append("</script>");
    handlerPages.Remove(HttpContext.Current.Handler);
    HttpContext.Current.Response.Write(builder.ToString());
   }
  }
 }

 

bởi: Guest_tran_* trong Oct 13 2010, 02:30 PM

The roi lam sao de khi ta nhan vao ok thi no thuc hien ha ban. con ta nhan vao cancel cho no ko thuc hien thi lam the nao ha ban

bởi: Guest_giun_da_* trong Oct 13 2010, 03:56 PM

nó chỉ là 1 dòng thông báo thôi bạn ah

VnVista I-Shine
© http://vnvista.com