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

时间:2024-05-28 15:37:22 

方法一:
在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()了.

标签:返回上一页
0
投稿

猜你喜欢

  • 详解Django+Uwsgi+Nginx 实现生产环境部署

    2022-11-10 10:37:41
  • 深入了解Golang包的获取方法

    2024-03-23 14:34:30
  • 布局篇(1)—If you love css …

    2008-04-16 14:14:00
  • asp如何终止浏览器的 CAHCE 页面?

    2010-07-07 12:25:00
  • JS使用eval()动态创建变量的方法

    2024-04-19 09:59:37
  • 对Python Pexpect 模块的使用说明详解

    2022-10-24 02:14:09
  • Oracle SID存在解決方法

    2009-06-19 17:34:00
  • python读取和保存视频文件

    2023-11-14 06:10:20
  • mysql 5.7.21 解压版安装配置方法图文教程

    2024-01-13 23:26:01
  • php获取referer防非法访问

    2023-08-20 11:30:58
  • Python使用pickle模块报错EOFError Ran out of input的解决方法

    2021-06-03 02:56:57
  • Python中用max()方法求最大值的介绍

    2021-12-08 09:33:06
  • SQL Join的一些总结(实例)

    2012-08-21 10:19:29
  • 利用python在excel里面直接使用sql函数的方法

    2023-10-15 00:34:57
  • Fabric 应用案例

    2021-10-11 13:13:01
  • 文本框textarea限制输入文字个数的方法

    2008-01-28 13:02:00
  • JS Object构造函数之Object.freeze

    2024-05-09 10:37:53
  • 深入了解Golang官方container/heap用法

    2024-05-13 10:44:42
  • SQL计算字符串中最大的递增子序列的方法

    2024-01-26 15:33:53
  • django 实现电子支付功能的示例代码

    2022-01-31 01:30:34
  • asp之家 网络编程 m.aspxhome.com