日期:2014-05-18  浏览次数:20526 次

如何获得这个对话框返回的值?

调用下面方法
 WebMsgBox.Show("要繼續嗎");可以弹出一个对话框。

但是怎么获取这个对话框的返回值呢。
然后根据返回值执行不同的代码。

我不知道这个方法是如何得到返回值的,各位帮我看看。
C# code
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());

            } 

        } 

    }

 

} 



------解决方案--------------------
public static void Show(string Message)
无返回值。
------解决方案--------------------
public static void Show(string Message) 
没有返回值,要改这个方法
public static int Show(string Message)
------解决方案--------------------
这个方法没有返回值啊
只有重写喽
------解决方案--------------------
如果是正常按钮例如OK,YES,NO,cancel等基础定义的按钮 可以使用resultValue来判断