0

我有一个非常基本的测试页面,带有一个按钮,然后在按钮上单击调用

Response.Redirect("b.aspx")当页面加载为http://myhost/index.aspx时,这可以正常工作。但是,当通过http://myhost/加载同一页面时,重定向不起作用(同一页面只是像普通回发一样重新加载)。

服务器是运行 ASP.NET4 的 IIS7。

我也试过了Response.Redirect("~/b.aspx")?还是没有汤?

4

3 回答 3

1

尝试Response.Redirect("...", true);

它不会让其余的代码在页面上运行,其余的代码可能是从根到欢迎页面的服务器传输,这会让您感到困惑。

于 2012-04-13T17:21:51.290 回答
0

您可能想尝试设置默认页面。在 Visual Studio 中,进入项目的属性页,在开始选项中,选择特定页面的开始操作到您的 index.aspx。这样,当您使用http://myhost/访问时,它将转到http://myhost/index.aspx

于 2012-04-13T17:50:53.917 回答
0

我无法重现您的行为。我已经编写了您描述的两个 aspx 页面,当我单击 index.aspx 页面上的按钮时,无论我以http://localhost/index.aspx还是只是http://访问页面,我都会被重定向到 b.aspx localhost/(在我将 index.aspx 设置为 IIS 中的默认文档之后)。所以这一定是IIS配置的某种错误或问题。

我建议确保在调试器中确实执行了 Response.Redirect() 并使用 Fiddler 等工具来检查响应标头。

于 2012-04-13T18:51:50.680 回答