[英]Display exception message through javascript alert in asp.net
I am trying to show exception message through javascript alert box. 我试图通过javascript警告框显示异常消息。
Here is the sample code. 这是示例代码。
public static void HandleException(Page page, Exception ex)
{
string message = ex.Message.ToString();
ScriptManager.RegisterClientScriptBlock(page, page.GetType(), "", "alert('"+message+"');", true);
}
It runs if i give literal values for the string variable. 如果我给字符串变量提供文字值,它就会运行。 eg
例如
string message = "Hello World";
But it fails if I give message = ex.Message; 但如果我给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: 你需要对它进行编码,例如使用JavaScriptSerializer,因为如果消息包含一些转义字符,如
'
或"
这肯定会破坏你的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? 您的
ex.Message
是否包含任何“字符”? They may need escaping. 他们可能需要逃脱。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.