ValidateEvents是一个很棒的ASP.net函数,但黄色死亡屏幕并不是那么好。我找到了一种如何在这里优雅地处理HttpRequestValidationException的方法,但这对ASP.net AJAX不起作用。
基本上,我有一个带有TextBox和Button的UpdatePanel,当用户在文本框中键入HTML时,会弹出一个带有错误消息的JavaScript弹出窗口,说明不修改响应。
所以我想知道优雅地处理HttpRequestValidationException的最佳方法是什么?对于“正常”请求,我想只显示一条错误消息,但是当它是一个AJAX请求时,我想抛弃请求并返回一些指示错误的内容,以便我的前端页面可以对它做出反应?
发布于 2019-04-10 09:22:34
找到它并在博客上发表它。基本上,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>
发布于 2019-04-10 10:15:58
嗯,似乎你需要找到某种JavaScript来检查html输入或客户端验证器。
https://stackoverflow.com/questions/-100001092
复制相似问题