asp.net 返回上一页的实现方法小集

方法一:
 在asp.net的aspx里面的源代码中
<input type="button onclick="javascript:window.history.go(-1);"value="返回上一页">

浅析:这个是用了HTML控件,通过一个onclick的事件,调用了javascript中的一个方法就可以了。这个是最简单的了,也同样适用于静态页面,ASP页面等。


方法二:
利用Reponse.write
如果你对ASP有一定的了解,那么对Response.write这个东东就不会陌生了,方法一是直接有HTML页面中实现,则这个则是在后台环境中实现
Response.write("<script language=javascript>history.go(-2);</script>)
<a   href="#"   onclick="javascript:history.back();">返回前一页</a>


这里为会么要采用-2的值呢,我个人认为是这样的:因为在asp.net中的页面,当你按下一个button后,由于页面中会实现page.postback的缘故,实际上在这其中是刷新了两次页面,我们要的是第一次的。


方法三:
利用Response.Redirect() 或 server.transfer()
在page_load中加入
if(!IsPostBack)  
        ViewState["retu"]=Request.UrlReferrer.ToString();  
    
而在在返回按钮事件中  
  Response.Redirect(ViewState["retu"].ToString());  
  或Server.Transfer   (ViewState["retu"].ToString());  

浅析:
Request.UrlReferrer可以获取客户端上次请求的url的有关信息,我们在使用这个的时候最好对其进行一个判断
if(ViewState["UrlReferrer"]!=null)
{
        Response.Redirect(ViewState["UrlReferrer"].ToString();
}
else
{
Response.write("对不起,当前是最前页码“);
}


方法四:
在button的onClick事件中输入
this.RegisterClientScriptBlock("e", "<script language=javascript>history.go(-2);</script>");


方法五:
<a href=<%=request.servervariable("http_Referre)%>
<asp:image id="imageback" visible = true" imagurl="上一页" runat="server"/></a>
posted @ 2011-10-18 16:09  lanmiao  阅读(308)  评论(0编辑  收藏  举报