2013-02-04 113 views
4

我一直在使用標籤文本在asp.net網站上顯示不同的狀態。提示消息框

例如「配置文件更新」,「無效字符」等,但寧願有一個彈出消息框,而不是。

這是我曾嘗試 -

string alert = ws.webMethod(TextBox1.Text); 
System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE='JavaScript'>alert(" + alert + ")</SCRIPT>"); 

然而,當這個被觸發,在IE瀏覽器的屏幕只是似乎越來越大,並提出沒有消息框。

我該如何做到這一點?

回答

4

我不會建議這樣做,它看起來像你正在創建一個頁面加載模態對話框,這意味着你的頁面不能繼續處理,直到用戶點擊確定。

但是,儘管如此,你的問題很可能是圍繞alert編輯文本缺乏報價:

System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE='JavaScript'>alert('" + alert + "')</SCRIPT>");

+0

良好的輸入,但是你會建議更好的解決方案來處理提示用戶? – Ebikeneser

+2

你可以使用jQuery模式(或類似的),它不會停止執行。 http://jqueryui.com/dialog/ – paul

+0

避免彈出,因爲他們只是刺激用戶,你爲什麼決定不去與一個標籤?如果您要顯示一條消息,請執行一條不妨礙該頁面加載的消息。有許多對話框的JavaScript庫。 jQuery和Ajax控件工具包可以幫助你。 – nik0lias

2

我已經在我的項目中使用這個,對我來說

ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "MessageBox", "alert('message')", true); 
3
工作正常

使用ClientScriptManager.RegisterClientScriptBlock代替Response.Write

string alert = ws.webMethod(TextBox1.Text); 
string script = "<SCRIPT LANGUAGE='JavaScript'>alert(" + alert + ")</SCRIPT>" 
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "scriptBlockName", script); 
1

你可以使用alert或者你可以使用像thisthis這樣的jquery插件。 如果使用jQuery插件,你可以自定義消息框,如改變backColor或...