javascript - sqlexception消息显示导致页面错误

标签 javascript html vb.net sqlexception

我有一个 aspx 页面,其中包含多个输入字段(几个整数和字符串)和第 3 方 gridview。 验证数据,并从代码隐藏调用存储过程以将数据保存到数据库中。

Gridview 能够向用户显示错误框,可以从代码隐藏中调用该错误框。因此,当我捕获异常时,我会给它我的错误消息(错误消息是 类似于:“数据无法保存到数据库。错误:”& ex.message 和调用显示错误框的函数。

通常情况下这效果很好,但是(哦,我讨厌这个但是)当尝试显示 sqlexception 时,我在页面上收到 javascript/html 错误,并且没有显示错误框。

我得出的结论是 ex.message 包含一些无法通过此 javascript/html 错误框显示的字符。

因此,我尝试使用 System.Web.HttpUtility.HtmlEncode(ex.message),但没有成功。

出于好奇,我也做了 System.Web.HttpUtility.UrlEncode(ex.message),然后我能够显示错误消息,但当然它有“+”而不是空格

示例:Cannot+insert+duplicate+key+row+in+object+'dbo.TableName'+with+unique+index+'IX_Unique_Dan'。%0d%0a+语句+has+been+终止。

是否有内置方法可以删除不需要的字符、eof 和类似字符? 目前我正在使用名为 CleanString 的函数来检查字符串中的字符。 看起来像这样...

For Each c As Char In value.ToCharArray()
    If (Char.IsLetterOrDigit(c)) Then
        msg = msg & c
    ElseIf (c = ".") Then
        msg = msg & "."

        .
        .
        .

    Else
        msg = msg & " "
    End If
Next

Tnx, 类克西

最佳答案

也许你需要转义引号?将每个单引号替换为反斜杠单引号。

您能否将确切的浏览器错误消息与发生错误的 javascript/html 源代码行粘贴在一起。

关于javascript - sqlexception消息显示导致页面错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554700/

相关文章:

javascript - 如何更改元素onclick的onclick而不立即运行?

javascript - 使 Angular Directive(指令)链接功能作为预链接?

javascript - 延迟脚本和放在页面主体末尾的脚本有什么区别?

javascript - 将输出从 ToDataURL() 传递到 ASP.NET 代码后面的方法?

javascript - 第 3 方添加到日历下拉列表未显示在子页面中

mysql - 使用 vb.net 和 SQL 数据库在现有系统上实现 RFID

javascript - Ckeditor 中的虚拟(重复)节点 [IE]

html - 如何在 HTML 和 CSS 中将正常(水平)和旋转的线连接到同一点?

.net - VB.NET 中的赋值运算符 "="

windows - System.StackOverflow 错误