12 Ocak 2015

Bırakın lafı koda bakın C# MessageBox

public static class MessageBox
    {
        private static readonly Hashtable MExecutingPages = new Hashtable();

        public static void Show(string sMessage)
        {
            if (!MExecutingPages.Contains(HttpContext.Current.Handler))
            {
                var executingPage = HttpContext.Current.Handler as Page;

                if (executingPage != null)
                {
                    var messageQueue = new Queue();

                    messageQueue.Enqueue(sMessage);
                    MExecutingPages.Add(HttpContext.Current.Handler, messageQueue);
                    executingPage.Unload += ExecutingPageUnload;
                }
            }
            else
            {
                var queue = (Queue)MExecutingPages[HttpContext.Current.Handler];

                queue.Enqueue(sMessage);
            }
        }

        private static void ExecutingPageUnload(object sender, EventArgs e)
        {
            var queue = (Queue)MExecutingPages[HttpContext.Current.Handler];

            if (queue == null) return;

            var sb = new StringBuilder();
            var iMsgCount = queue.Count;

            sb.Append("");
            MExecutingPages.Remove(HttpContext.Current.Handler);

            HttpContext.Current.Response.Write(sb.ToString());
        }
    }

Tagged:

0 yorum:

Yorum Gönder