0

ページ数が少ない

例:

          PageA.aspx

          pageB.aspx

          pageC.aspx

そして私は1つの余分なページを持っています

例:AccessChecker.aspxを使用して、このユーザーがこのアプリケーションでこのページを表示できるかどうかを確認します

彼が許可した場合、彼はpageA.aspxにリダイレクトされます

Response.Redirect("~/pageA.aspx");

しかし、本当の問題は、誰かがwww.example.com/pageB.aspxなどのURLを入力した場合、セッションが利用できない場合、その人は AccessChecker.aspxにリダイレクトされますが、私のコーディングによれば、アクセスレベルを確認した後、その人はにリダイレクトされます。 www.example.com/pageA.aspxしかし、 AccessChecker.aspxページを、その人の出身ページにリダイレクトしたいのですが、この場合、ユーザーはwww.exampleではなくwww.example.com/pageB.aspxにリダイレクトされます。 com /pageA.aspx ..。

4

3 に答える 3

1

あなたのpageBでこれを行います

if(Session["LoggedIn"]==null)//Check Session
Response.Redirect("AccessChecker.aspx?Nav=B", false);

そして、AccessCheckerコードビハインドで

    //When you want to redirect
    if(Request.QueryString["Nav"]=="B")
    Response.Redirect("~/pageB.aspx", false);
    else
    Response.Redirect("~/pageA.aspx", false);
于 2012-07-04T13:25:52.027 に答える
1

使ってみましたか

Request.UrlReferrer

だからあなたは持つことができます

Response.Redirect(Request.UrlReferrer.ToString())

またはそれらの線に沿った何か...

于 2012-07-04T13:29:50.897 に答える
0

私はあなたを助けるナビゲーションフレームワークを書きました、http://navigation.codeplex.com/

まず、ページとページ間のナビゲーションを構成します。あなたの例は次のようになります:

<state key="A" page="~/pageA.aspx">
    <transition key="NoSession" to="Access">
</state>
<state key="B" page="~/pageB.aspx">
    <transition key="NoSession" to="Access">
</state>
<state key="Access" page="~/AccessChecker.aspx"/>

次に、pageAまたはpageBからAccessCheckerに移動するには、次のように記述します。

StateController.Navigate("NoSession");

そして、AccessCheckerから元の場所に戻るには、次のように記述します。

StateController.NavigateBack(1);
于 2012-07-04T13:50:22.233 に答える