当前位置: 首页 > 图文教程 > 网络编程 > Javascript > asp.net下利用js实现返回上一页的实现方法小集

Javascript
JavaScript 语言精粹学习笔记
有关div页面拖动、缩放、关闭、遮罩效果代码
JQuery this 和 $(this) 的区别
JS 时间显示效果代码
jquery 表单进行客户端验证demo
JS 获取span标签中的值的代码 支持ie与firefox
JavaScript 获取用户客户端操作系统版本
可以读取EXCEL文件的js代码
JS去除字符串的空格增强版(可以去除中间的空格)
监控用户是否关闭浏览器的js代码
javascript 继承实现方法
JSON 入门指南 想了解json的朋友可以看下
javascript 函数调用规则
动态表格Table类的实现
JSON 客户端和服务器端的格式转换
jQuery ui1.7 dialog只能弹出一次问题
javascript 遍历验证所有文本框的值
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
javascript 简练的几个函数
csdn 博客中实现运行代码功能实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 367 ::
收藏到网摘: n/a

其实要实现这个功能主要还是要用到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());
浅析:
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()了.