调用下面方法
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来判断