我有一个try-catch块:
try{
//stuff here
}catch(Exception x){
tran.Rollback();
Response.Write("<script>alert('Error details: " + x + "');</script>");
Response.Write("<script>alert('Error');</script>");
}
将弹出“错误”消息,但不会显示“错误详细信息”。我错过了什么?我试过x.ToString(),x.Message ......没什么......
答案 0 :(得分:2)
您可能希望序列化您放入该脚本的字符串。
try
{
}
catch (Exception ex)
{
JavaScriptSerializer ser = new JavaScriptSerializer();
String jsSafeString = ser.Serialize(ex.Message);
// use this string in your script.
}
答案 1 :(得分:0)
如果您只想在页面上打印消息,只需获取异常类的消息属性
try{
//stuff here
}catch(Exception x){
tran.Rollback();
Response.Write("<script>alert('Error details: " + x.Message + "');</script>");
Response.Write("<script>alert('Error');</script>");
}
答案 2 :(得分:0)
试试这个
cleanMessage
是您的exception string
。
string script = string.Format("alert('{0}');", cleanMessage);
if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert"))
{
page.ClientScript.RegisterClientScriptBlock(page.GetType(), "alert", script, true /* addScriptTags */);
}