正常处理HttpRequestValidationException和ASP.net AJAX兼容?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (51)

ValidateEvents是一个很棒的ASP.net函数,但黄色死亡屏幕并不是那么好。我找到了一种如何在这里优雅地处理HttpRequestValidationException的方法,但这对ASP.net AJAX不起作用。

基本上,我有一个带有TextBox和Button的UpdatePanel,当用户在文本框中键入HTML时,会弹出一个带有错误消息的JavaScript弹出窗口,说明不修改响应。

所以我想知道优雅地处理HttpRequestValidationException的最佳方法是什么?对于“正常”请求,我想只显示一条错误消息,但是当它是一个AJAX请求时,我想抛弃请求并返回一些指示错误的内容,以便我的前端页面可以对它做出反应?

提问于
用户回答回答于

找到它并在博客上发表它。基本上,EndRequestHandler和args.set_errorHandled是可以用的

<script type="text/javascript" language="javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(EndRequestHandler);

function EndRequestHandler(sender, args) {
    if (args.get_error() != undefined)
    {
        var errorMessage;
        if (args.get_response().get_statusCode() == '200')
        {
            errorMessage = args.get_error().message;
        }
        else
        {
            // Error occurred somewhere other than the server page.
            errorMessage = 'An unspecified error occurred. ';
        }
        args.set_errorHandled(true);
        $get('<%= this.newsletterLabel.ClientID %>').innerHTML = errorMessage;
    }
}
</script>
用户回答回答于

嗯,似乎你需要找到某种JavaScript来检查html输入或客户端验证器。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励