2012-07-04 37 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);