获取asp.net中的上一页名称

时间:2009-10-26 11:13:38

标签: .net asp.net

假设我有3页,(origin1.aspx)/(origin2.aspx)/(destination.aspx),我有一个代表后退按钮的控件,其功能是从哪个页面调用它。一旦点击重定向回到原来的来电者页面,我搜索了网页,发现了很多很棒的简单想法,比如queryString和session,但不幸的是我一定不能使用其中任何一个,所以有什么帮助吗?

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

您可以使用一些JavaScript:

<asp:button id="m_BackButton" runat="server" onclientclick="goBack()" />

<script type="text/javascript">
  function goBack(){
    history.go(-1);
  }
</script>

答案 2 :(得分:0)

你可以使用javascript去所有客户端,但是如果你需要去服务器:

我不认为它真的很漂亮,但它完成了工作。也给你很大的力量。

首先在母版页中我们有这样的代码,所以在会话中设置页面名称

if (!IsPostBack)
{
   if (Request.UrlReferrer != null && Request.UrlReferrer.AbsoluteUri != null)
   {
      Session.Add("UrlReferrer", Request.UrlReferrer.AbsoluteUri);
   }
}

然后我们有一个像这样的简单代码的ashx反向处理程序。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1
{
    /// <summary>
    /// Summary description for Backhandler
    /// </summary>
    public class Backhandler : IHttpHandler
    {
        private const string DEFAULTPAGE = "MyDdefaultreturnpage.aspx";

        public void ProcessRequest(HttpContext context)
        {
            string previousPage = context.Session["UrlReferrer"] as String  ?? DEFAULTPAGE;
            context.Response.Redirect(previousPage);
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

应用程序中的所有后退按钮都可以重定向到backhandler.ashx文件。 Yu甚至可以把它放在你的CSS中。

希望这有帮助。