Display exception message through javascript alert in asp.net
I am trying to show exception message through javascript alert box.
Here is the sample code.
public static void HandleException(Page page, Exception ex)
{
string message = ex.Message.ToString();
ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "", "alert('"+mess开发者_运维百科age+"');", true);
}
It runs if i give literal values for the string variable. e.g.
string message = "Hello World";
But it fails if I give message = ex.Message;
Any Idea?
You need to encode it, for example using JavaScriptSerializer because if the message contains some escape characters like '
or "
this will definitely break your javascript:
var message = new JavaScriptSerializer().Serialize(ex.Message.ToString());
var script = string.Format("alert({0});", message);
ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "", script, true);
try
{
//do some thing
}
catch (Exception ex)
{
Response.Write("<script language='javascript'>alert('" +
Server.HtmlEncode(ex.Message) + "')</script>");
}
Does your ex.Message
have any ' characters in it? They may need escaping.
精彩评论