catch (Exception err)
        {
            Response.Write("<script>alert('" + err.Message + "!')</script>");
        }
不提示错误也没效果显示  调试时异常存在,err.Message非空当改为如下时,提示错误
错误 CS0019: 运算符“&”无法应用于“string”和“string”类型的操作数
catch (Exception err)
        {
            string str=err.Message;
            Response.Write("<script>alert('"&str&"!')</script>");
        }
求高手赐教!!!

解决方案 »

  1.   

    Response.Write("<script>alert('" + str.Replace("\r\n","\\r\\n").Replace("'","\\'") + "!')</script>");
      

  2.   

    err.Message
    是多行的内容,转成js里面多行不符合js语法,所以你需要把换行换成\r\n。另外引号不能嵌套,也需要换
      

  3.   

    Response.Write("<script>alert('" + str.Replace("\r\n","\\r\\n").Replace("'","\\'") + "!')</script>");转义“\”
      

  4.   

    原理就是   你要把string里面的"\"转换成符合js的   。net的“\”和js里面的不一样!   需要转义一下!一般就是前面再加一个"\"就OK了
      

  5.   

    貌似我每次都用ex.message.tostring()...
      

  6.   

    alert('sss'sss\nsss'')你看 能输出不