WebMsgBox Class
WebMsgBox class represents a message box for ASP.NET applications. This class has a static method Show, which is used to display a message box. The Show method takes a single argument of string type, which is the message you want to display.
using
System;
using
Microsoft.VisualBasic;
using
System.Text;
using
System.Collections;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
namespace
TestWebMsgApp
{
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());
}
}
}
}