1

当我点击联系我们时,我的登录页面root/Account/Login.aspx需要重定向到root/contactus.aspx页面。我Response.Redirect("~/contactus.aspx")在母版页(Site.Master)中使用

 Protected Sub lbContactUs_Click(sender As Object, e As EventArgs) Handles lbContactUs.Click
    Response.Redirect("~/contactus.aspx")

End Sub

它仍然没有重定向到页面。

在此处输入图像描述

4

3 回答 3

6

您没有正确重定向。

Response.Redirect("/contactus.aspx", False);
Context.ApplicationInstance.CompleteRequest();

不要使用Response.Redirect(url). 它调用Response.End 这对服务器来说是非常繁重的

Response.Redirect(url, false) 速度更快,效率更高

Response.End将提高ThreadAbortException服务器的成本。

http://blogs.msdn.com/b/tmarq/archive/2009/06/25/correct-use-of-system-web-httpresponse-redirect.aspx

@Jason Kulatunga的答案看起来会解决你的问题。以上信息仅供参考。

于 2012-06-20T03:20:46.297 回答
4

将以下内容添加到您的web.config

<configuration>
...
<location path="ContactUs.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
... 
</configuration>

似乎您在web.config. 如果您需要允许匿名用户访问特定页面,同时仍然让站点的其余部分受到表单身份验证的保护,您可以使用location标记来覆盖特定页面的安全性。

于 2012-06-20T03:11:09.610 回答
1

@James123:使用

 Protected Sub lbContactUs_Click(sender As Object, e As EventArgs) Handles lbContactUs.Click
 Response.Redirect("/contactus.aspx")

结束子

这将重定向到根目录

于 2012-06-20T03:05:11.133 回答