【问题标题】:Response and redirect to the page came from响应和重定向到页面来自
【发布时间】:2012-07-04 13:20:57
【问题描述】:

我只有几页

例如:

          PageA.aspx

          pageB.aspx

          pageC.aspx

我还有 1 个额外的页面

例如:AccessChecker.aspx 检查此用户是否允许在此应用程序中查看此页面

如果他允许,他将被重定向到 pageA.aspx

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

但真正的问题是,如果有人输入诸如 www.example.com/pageB.aspx 之类的 url,如果它没有可用的会话,它将将该人重定向到 AccessChecker.aspx strong> 但根据我在检查他的访问级别后的编码,人将被重定向到 www.example.com/pageA.aspx 但我希望该 AccessChecker.aspx 页面重定向到那个人来自的页面。在这种情况下,用户将被重定向到 www.example.com/pageB.aspx 而不是 www.example.com/pageA.aspx ...

【问题讨论】:

    标签: c# asp.net redirect response.redirect


    【解决方案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);
    

    【讨论】:

      【解决方案2】:

      您是否尝试过使用

      Request.UrlReferrer
      

      所以你可以拥有

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

      或者类似的东西......

      【讨论】:

        【解决方案3】:

        我已经编写了一个导航框架来帮助你,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);
        

        【讨论】:

          猜你喜欢
          • 2017-03-09
          • 1970-01-01
          • 2014-10-29
          • 2012-05-12
          • 1970-01-01
          • 2011-01-04
          • 2012-10-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多