【发布时间】:2012-07-03 15:02:39
【问题描述】:
我有一个导致“Internet Explorer 无法显示网页”错误的代码块。当我单击提交按钮时,在未选中任何单选按钮的情况下,网页状态栏显示“等待主机响应”,然后显示“Internet Explorer 无法显示网页”。当我在 Visual Studio 中浏览代码时,代码执行得很好,并且没有执行任何 catch 块。
我如何捕获错误并确定显示错误页面的原因?
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
if (rbtnSearchBy1.Checked)
{
Server.Transfer("ViewEmpHistory.aspx");
}
if (rbtnSearchBy2.Checked)
{
Server.Transfer("SearchEmp.aspx");
}
if (rbtnSearchBy3.Checked)
{
Server.Transfer("ViewEmpCard.aspx");
}
}
catch (ThreadAbortException)
{
throw;
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
【问题讨论】:
-
如果没有选中复选框,您期望的行为是什么?对于这种情况,您的逻辑不会调用 Transfer。
-
我希望它不会出现“Internet Explorer 无法显示网页”错误......
-
但是您发送请求,然后响应为您提供没有响应。也许你应该考虑添加类似 else { Server.Transfer("StandardErrorPage.aspx") }
-
在 Internet Explorer 错误页面点击“显示详细信息”时,错误代码是什么? http 500?其他?
-
基于代码。我会假设 OP 会收到一个空白的 200 响应。因此 IE 将给出其标准错误页面,因为没有要呈现的内容
标签: c# asp.net visual-studio-2010