【问题标题】:Javascript popup with Exception details not appearing没有出现异常详细信息的 Javascript 弹出窗口
【发布时间】:2012-11-26 13:40:42
【问题描述】:

我有一个 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...什么都没有...

【问题讨论】:

  • 我只看到'错误'消息...第一条消息根本没有弹出,我想显示错误详细信息~

标签: c# javascript exception popup


【解决方案1】:

如果你只想在页面上打印消息,只需获取异常类的Message属性

try{
//stuff here
}catch(Exception x){
tran.Rollback();
Response.Write("<script>alert('Error details: " + x.Message + "');</script>");
Response.Write("<script>alert('Error');</script>");

}

【讨论】:

    【解决方案2】:

    您可能想要序列化您放入该脚本的字符串。

    try 
    {
    
    }
    catch (Exception ex)
    {
        JavaScriptSerializer ser = new JavaScriptSerializer();
        String jsSafeString = ser.Serialize(ex.Message);
        // use this string in your script.
    }
    

    【讨论】:

      【解决方案3】:

      试试这个

      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 */);
      }
      

      【讨论】:

      • 没有骰子...我假设页面是this.Page?
      猜你喜欢
      • 2018-03-11
      • 1970-01-01
      • 2014-06-19
      • 2013-03-09
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      相关资源
      最近更新 更多