我有一个非常基本的测试页面,带有一个按钮,然后在按钮上单击一个对
的调用 Response.Redirect("b.aspx")
当页面加载为http://myhost/index.aspx时,此方法正常。但是,当同一页面通过http://myhost/加载时,重定向不起作用(同一页面只是像正常的回发一样重新加载)。
服务器是运行ASP.NET4的IIS7。
我还试过Response.Redirect("~/b.aspx")
?仍然没有汤?
答案 0 :(得分:1)
尝试Response.Redirect("...", true);
它不会让其余的代码在页面上运行,其余的代码可能是从根目录到欢迎页面的服务器传输,这会让你感到烦恼。
答案 1 :(得分:0)
您可能想尝试设置默认页面。在visual studio中,进入项目的属性页,在启动选项中,选择特定页面的开始操作到index.aspx。这样,当您使用http://myhost/进行访问时,它将转到http://myhost/index.aspx。
答案 2 :(得分:0)
我无法重现您的行为。我写了两个你描述的aspx页面,当我点击index.aspx页面上的按钮时,无论我是以http://localhost/index.aspx还是http://localhost/访问页面,我都被重定向到b.aspx(在我之后)将index.aspx设置为IIS中的默认文档。所以它必须是IIS配置的某种错误或问题。
我建议在调试器中确保Response.Redirect()真正执行并使用Fiddler等工具来检查响应头。