簡體   English   中英

如何使用C#在asp.net的警告框中顯示異常變量值

[英]how to show exception variable value in alert box in asp.net using C#

我有以下代碼,但沒有顯示警告框。

try
{
    do something..          
}
catch(Exception ex)
{
    Response.Write("<script>alert('"+ex+"')</script>");
}

如果我使用此代碼,則會出現警告框。

try
{
    do some thing
}
catch (Exception ex)
{           
    Response.Write("<script>alert(\"an error occur\")</script>");
}

如何在警告框中顯示異常變量?

如果要顯示堆棧跟蹤:

Response.Write("<script>alert('"+ Server.HtmlEncode(ex.ToString()) + "')</script>");

或者如果你只想要消息

Response.Write("<script>alert('"+ Server.HtmlEncode(ex.Message) + "')</script>");

嘗試類似的東西

Response.Write("<script>alert('"+ex.Message+"')</script>"); 

看看類異常類

 Dim message = New JavaScriptSerializer().Serialize(rs)
 Dim script = String.Format("alert({0});", message)
 ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "", Script, True)

這解決了我的問題:

  string jscriptCustInfo = "<script type='text/javascript' language='javascript'>";
  jscriptCustInfo = jscriptCustInfo + "alert('Dividend Posting Done, Batch No: "+lblBatch.Text+"');";

  jscriptCustInfo = jscriptCustInfo + "</script>";
  ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", jscriptCustInfo, false);

請檢查您在該頁面中使用更新面板的情況。如果有更新面板,有時可能會有效。

你需要小心並正確地逃避你正在生成的Javascript字符串...想象一下,Exception的消息中有單引號...

單引號( ' )需要轉義( \\'

Response.Write("<script>alert('"+ Server.HtmlEncode(ex.Message).Replace("'","\\'" ) + "')</script>");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM