- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下设置:
<script type="text/javascript">
if (typeof (Sys) != 'undefined') {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequest);
function endRequest(sender, e) {
if (e.get_error()) {
window.location = "ErrorPage.aspx"
}
}
}
</script>
public static void ProcessError()
{
string defaultErrorPage = ConfigurationManager.AppSettings["DefaultErrorPage"];
string displayError = ConfigurationManager.AppSettings["DisplayError"];
Exception ex;
if (!string.IsNullOrWhiteSpace(displayError))
displayError = displayError.ToLower();
ex = HttpContext.Current.Server.GetLastError();
if (ex != null)
Log.LogException(DateTime.Now, null, ex);
// Redirect to Default Error page on error
if (displayError == "basic")
{
HttpContext.Current.Server.ClearError(); // needed for redirect to work
if (!string.IsNullOrWhiteSpace(defaultErrorPage))
HttpContext.Current.Response.Redirect(defaultErrorPage, false); // doesn't work with AJAX calls
}
}
最佳答案
当您发出 AJAX 请求时,您只会得到一个包含某种数据的响应,这些数据由客户端的脚本解释。
因此,万一出现错误,服务器唯一能做的就是在对 ajax 请求的响应中发送错误。
此时,客户端脚本接收到错误信息,您可以随意使用。你这样做是正确的。
但是,如果您需要采取一些额外的操作,例如记录错误,您有两个选择:
1) 将错误从 javascript 发送回服务器:例如,您可以使用带有隐藏类型输入的常规表单,设置输入值,然后使用 form.submti() 将表单发布到您的错误页面。您的页面可以使用页面的请求对象恢复隐藏字段的内容并对其进行处理。
2) 在服务器端捕获错误,在 try/catch 或 page_error 或 application_error 事件中,记录异常,或任何你想用它做的事情,并抛出一个将到达客户端的新异常,隐藏原始异常信息。
第二个选项更干净、更安全,因为您不会向浏览器发送错误信息。
认为服务器不能以任何方式重定向浏览器,因为当服务器发送对 AJAX 请求的响应时,服务器没有为浏览器呈现新页面,浏览器也没有收到新的整个页面。服务器只是发送一些信息以供客户端脚本处理。因此,您的脚本负责重新加载新页面或您需要执行的任何操作。
关于asp.net - 如何使用 AJAX 错误发出服务器端重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9692354/
我正在尝试使用谷歌浏览器的 Trace Event Profiling Tool分析我正在运行的 Node.js 应用程序。选择点样本后,我可以在三种 View 之间进行选择: 自上而下(树) 自上而
对于一个可能是菜鸟的问题,我们深表歉意,但尽管在 SO 上研究了大量教程和其他问题,但仍找不到答案。 我想做的很简单:显示一个包含大量数据库存储字符串的 Android ListView。我所说的“很
我已经开始了一个新元素的工作,并决定给 Foundation 5 一个 bash,看看它是什么样的。在创建带有水平字段的表单时,我在文档中注意到的第一件事是它们使用大量 div 来设置样式。所以我在下
我有一个 Windows 窗体用户控件,其中包含一个使用 BeginInvoke 委托(delegate)调用从单独线程更新的第 3 方图像显示控件。 在繁重的 CPU 负载下,UI 会锁定。当我附加
我有一堆严重依赖dom元素的JS代码。我目前使用的测试解决方案依赖于 Selenium ,但 AFAIK 无法正确评估 js 错误(addScript 错误不会导致您的测试失败,而 getEval 会
我正在制作一款基于滚动 2D map /图 block 的游戏。每个图 block (存储为图 block [21][11] - 每个 map 总共 231 个图 block )最多可以包含 21 个
考虑到以下情况,我是前端初学者: 某个 HTML 页面应该包含一个沉重的图像(例如 - 动画 gif),但我不想强制客户缓慢地等待它完全下载才能享受一个漂亮的页面,而是我更愿意给他看一个轻量级图像(例
我正在设计一个小软件,其中包括: 在互联网上获取资源, 一些用户交互(资源的快速编辑), 一些处理。 我想使用许多资源(它们都列在列表中)来这样做。每个都独立于其他。由于编辑部分很累,我想让用户(可能
我想比较两个理论场景。为了问题的目的,我简化了案例。但基本上它是您典型的生产者消费者场景。 (我关注的是消费者)。 我有一个很大的Queue dataQueue我必须将其传输给多个客户端。 那么让我们
我有一个二元分类问题,标签 0 和 1(少数)存在巨大不平衡。由于测试集带有标签 1 的行太少,因此我将训练测试设置为至少 70-30 或 60-40,因此仍然有重要的观察结果。由于我没有过多地衡量准
我是一名优秀的程序员,十分优秀!