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 に答える