6种方法实现asp.net返回上一页

其实要实现返回上一页的功能,主要还是要用到JavaScript。

一:

在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());  

 

四:

这个方法估计很少人用,不过我试了一下,也还很不错喔

在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>

六:

Response.Write("<script>alert('提示信息');history.back()</script>");

Response.Write("<script>alert('提示信息');top.location.href='" + PageURL + "'</script>")

Response.Write("<script>alert('提示信息');window.location.href='" + PageURL + "'</script>");

Response.Write("<script>alert('提示信息');window.location=window.location;</script>");

用Javascript来实现与用Response.redirect()来实现的一点点区别,如果你是用天表单的时候想保留你填的数据,那就要用history.go();如果你只是直接返回不用做任何操作,你就可以用reponse.redirect()了。

posted @ 2017-06-07 14:28  冰山一杰  阅读(1189)  评论(0编辑  收藏  举报