Try
            .............
   Page.RegisterStartupScript("", "<script language='javascript'>alert('已成功修改记录!');window.opener.location.href='LendFromWHTransfer.aspx';</script>")Catch exc As SqlException                Page.RegisterStartupScript("alert", "<script language='javascript'>alert('出现错误:\r\n" & exc.Message.ToString & "');</script>")
             
 Finally
                Con.Close()
 End Try在上面的程序中,我发现如果出现错误,如果exc.Message.ToString的指数太多,就不会弹出错误信息
如果将语句改为response.write(exc.Message.ToString),则没错通过。请问如何不让alert有字数限制?

解决方案 »

  1.   

    exc.Message.ToString 里有双引号的话就出错误了。
      

  2.   

    exc.Message.ToString 里有双引号的话就出错误了。
    正确!所以你必须处理一下 exc.Message.ToString().replace("/"","“");
      

  3.   

    我用Response.Write(exc.Message.ToString)得到一错误信息:
    列的插入或更新与先前的 CREATE RULE 语句所强制的规则冲突。该语句已终止。冲突发生于数据库 'XXDB',表 'LendFromWHTable',列 'fQuantity'。语句已终止。
    里面好像没有双引号呀?上面两位说的是对的,关键是replace里面怎么写e?
    xc.Message.ToString().replace("/"","“");不对呀
    谢谢
      

  4.   

    xc.Message.ToString().replace("\"","“");
      

  5.   

    呵呵!单引号也有问题,这个js的语法分析将会认为XXDB前面的引号和alert后面第一个引号是一个字符串,而后面的则会认为是一个变量。使用转义字符将里面的引号统统的转义了就没有问题了!
      

  6.   

    原因找到了,是由于单引号引起的,cuike519说得的,由于vb没有转义字符,得用,必须用下面的的格式转换:转换正确,如下:
      Page.RegisterStartupScript("alert", "<script language='javascript'>alert('" & exc.Message.ToString.Replace(Chr(39), "/") & "');</script>")
    但运行时,有错误:未结束的字符串常量。但如果我用错误信息代替" & exc.Message.ToString.Replace(Chr(39), "/") & " ,就可以弹出警告,没错了,未什么???
    谢谢