当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

net下利用js实现返回上一页的实现方法小集

  方法一:

  在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("对不起,当前是最前页码“);

  这样才好使一点点喔

  }

  在使用Request.UrlReferrer时还要注意:

  1. 如果上一页面使用document.location方法导航到当前页面,Request.UrlReferrer返回空值

  2. 如果有A,B两个页面,在浏览器中直接请求A页面,在A页面的中Page_Load事件中导航到B 页面,则 Request.UrlReferrer返回空。因为 在Page_load事件中页面还未初始化,所以无法记录当前页的信息,导航到b页面也就无法获得上一页面的信息

  3. 点击刷新按钮不会改变Request.UrlReferrer

  方法四:

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

  在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()了.

相关内容
赞助商链接