2012-07-04 63 views
0

來到我有幾頁響應並重定向到該頁面從

爲前:

  PageA.aspx 

      pageB.aspx 

      pageC.aspx 

,我有1額外的頁面

例如:是否該用戶允許AccessChecker.aspx檢查查看該頁面在此應用

如果他允許他將被重定向到pageA.aspx

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

但真正的問題是,如果有人在URL,例如www.example.com/pageB.aspx進入如果可用,就那個人重定向到AccessChecker.aspx但根據我的編碼沒有會議在檢查他的訪問級別後,人員將被重定向到www.example.com/pageA.aspx但我希望AccessChecker.aspx頁面可以重定向到該人來自的頁面。在這種情況下,用戶將被重定向到www.example.com/pageB.aspxwww.example.com/pageA.aspx ...

回答

1

在你的頁面B做

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); 
1

您是否嘗試過使用

Request.UrlReferrer 

所以你可以有

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

或沿這些行的東西...

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的或頁面B導航到AccessChecker你寫:

StateController.Navigate("NoSession"); 

而且從AccessChecker導航回他們從你來到這裏寫:

StateController.NavigateBack(1);