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