我有一个非常基本的测试页面,有一个按钮,在按钮上点击一个调用
当页面作为http://myhost/index.aspx加载时,Response.Redirect("b.aspx")
这很好用。但是,当相同的页面通过http://myhost/加载时,重定向不起作用(相同的页面只是像正常的回发一样重新加载)。
服务器是运行ASP.NET4的IIS7。
我也试过Response.Redirect("~/b.aspx")
?还是没有汤吗?
发布于 2012-04-13 17:21:51
试试Response.Redirect("...", true);
它不会让其余的代码在页面上运行,其余的代码可能是从根目录到欢迎页面的服务器传输,这会把您搞得一团糟。
发布于 2012-04-13 17:50:54
您可能希望尝试设置默认页面。在visual studio中,转到项目的属性页中的“开始选项”中,选择“启动”操作到特定页到index.aspx。这样,当您使用http://myhost/访问时,它将转到http://myhost/index.aspx。
发布于 2012-04-13 18:51:51
我无法重现你的行为。我已经写了两个你描述的aspx页面,当我点击index.aspx页面上的按钮时,我被重定向到b.aspx,无论我是作为http://localhost/index.aspx访问页面还是仅仅以http://localhost/访问页面(在我将index.aspx设置为IIS中的默认文档之后)。因此,这一定是IIS配置的某种错误或问题。
我建议在调试器中确保Response.Redirect()真正执行,并使用诸如Fiddler之类的工具来检查响应头。
https://stackoverflow.com/questions/10145278
复制相似问题