我正在維護一個ASP.NET站點,並且我試圖使用jQuery更好地查看對話框。該Web應用程序有一個名爲MessageBox的C#類,它允許從服務器端向客戶端顯示消息....實質上在C#上的aspx代碼隱藏中,如果某些邏輯'不計算',則可以只是MessageBox.Show '你的錯誤信息');ASP.NET Jquery C#MessageBox.Show對話框呃...問題
由於MessageBox類似乎只是「注入」的javascript ......「警戒(郵件)」我試圖改變的JavaScript的jQuery的對話框呼叫:
HTML:標準的jQuery例子對話框.. (特意切斷標籤......只是爲了讓代碼示例顯示出來...在這裏可能有一種真正的方法...但這是我的第一篇文章...)
div id="dialog" title="Example dialog"> p>Some text that you want to display to the user./p> /div>
jQuery: 我註釋掉Alert,並替換爲: sb.Append(「$('dialog')。dialog('open');」);
while(iMsgCount-- > 0) { sMsg = (string) queue.Dequeue(); sMsg = sMsg.Replace("\n", "\\n"); sMsg = sMsg.Replace("\"", "'"); //sb.Append(@"alert(""" + sMsg + @""");"); **** sb.Append("$('dialog').dialog('open');"); **** }
我期待這個打開在html中設置的對話框,但沒有顯示。 我想javascript是JavaScript ...而是執行,而不是一個jQuery調用手動警報無所謂......但顯然有一個斷開連接。
有關如何解決此問題的任何想法?或者我沒有意識到的任何更好的實現?
謝謝,對於任何和所有的幫助...我已經在下面包括完整的MessageBox類。
Curt。
public class MessageBox { private static Hashtable m_executingPages = new Hashtable(); private MessageBox(){} public static void Show(string sMessage) { if(!m_executingPages.Contains(HttpContext.Current.Handler)) { Page executingPage = HttpContext.Current.Handler as Page; if(executingPage != null) { Queue messageQueue = new Queue(); messageQueue.Enqueue(sMessage); m_executingPages.Add(HttpContext.Current.Handler, messageQueue); executingPage.Unload += new EventHandler(ExecutingPage_Unload); } } else { Queue queue = (Queue) m_executingPages[ HttpContext.Current.Handler ]; queue.Enqueue(sMessage); } } private static void ExecutingPage_Unload(object sender, EventArgs e) { Queue queue = (Queue) m_executingPages[ HttpContext.Current.Handler ]; if(queue != null) { StringBuilder sb = new StringBuilder(); int iMsgCount = queue.Count; sb.Append(""); string sMsg; while(iMsgCount-- > 0) { sMsg = (string) queue.Dequeue(); sMsg = sMsg.Replace("\n", "\\n"); sMsg = sMsg.Replace("\"", "'"); sb.Append(@"alert(""" + sMsg + @""");"); } sb.Append(@""); m_executingPages.Remove(HttpContext.Current.Handler); HttpContext.Current.Response.Write(sb.ToString()); } } }
是否與'alert'工作? – SLaks 2010-06-29 21:49:03
是的,MessageBox類的工作原理與簡單的醇'警報,因此我希望我只能切換一些JavaScript周圍,並得到所需的結果... – Curt 2010-06-29 22:10:53