返回上一页的这个东东在我们做项目的时候一般是用于填写完表单后确认的时候有对原来输入的数据进行修改时用的或者是因为网站为了方便浏览者而有心添加的一个东东一般这种功能的实现在中都是用一个button的控件来实现的实现的方法有很多今天恰好在做项目时碰到要用这个东东我就把能实现 返回上一页返回前一页的几种方法总结了一下供大家学习之用请多多指教)
其实要实现这个功能主要还是要用到javascript
方法一
在的aspx里面的源代码中
<input type=button onclick=javascript:windowhistorygo()value=返回上一页>
浅析这个是用了HTML控件通过一个onclick的事件调用了javascript中的一个方法就可以了这个是最简单的了也同样适用于静态页面ASP页面等
方法二
利用Reponsewrite
如果你对ASP有一定的了解那么对Responsewrite这个东东就不会陌生了方法一是直接有HTML页面中实现则这个则是在后台环境中实现(这个说法好像不是很规范呵呵)
Responsewrite(<script language=javascript>historygo()</script>)
<a # onclick=javascript:historyback()>返回前一页</a>
这里为会么要采用的值呢我个人认为是这样的因为在中的页面当你按下一个button后由于页面中会实现pagepostback的缘故实际上在这其中是刷新了两次页面我们要的是第一次的所以就……
方法三
利用ResponseRedirect() 或 servertransfer()
在page_load中加入
if(!IsPostBack)
ViewState[retu]=RequestUrlReferrerToString()
而在在返回按钮事件中
ResponseRedirect(ViewState[retu]ToString())
或ServerTransfer (ViewState[retu]ToString())
浅析
RequestUrlReferrer可以获取客户端上次请求的url的有关信息我们在使用这个的时候最好对其进行一个判断
if(ViewState[UrlReferrer]!=null)
ResponseRedirect(ViewState[UrlReferrer]ToString()
else
{
Responsewrite(对不起当前是最前页码)
这样才好使一点点喔
}
在使用RequestUrlReferrer时还要注意
如果上一页面使用documentlocation方法导航到当前页面RequestUrlReferrer返回空值
如果有AB两个页面在浏览器中直接请求A页面在A页面的中Page_Load事件中导航到B 页面则 RequestUrlReferrer返回空因为 在Page_load事件中页面还未初始化所以无法记录当前页的信息导航到b页面也就无法获得上一页面的信息
点击刷新按钮不会改变RequestUrlReferrer
方法四
这个方法估计很少人用不过我试了一下也还很不错喔
在button的onClick事件中输入
thisRegisterClientScriptBlock(e <script language=javascript>historygo()</script>)
一样可以 返回到上一页
方法五
<a href=<%=requestservervariable(http_Referre)%>
<asp:image id=imageback visible = true imagurl=上一页 runat=server/></a>
方法六
ResponseWrite(<s cript>alert(提示信息)historyback()</s cript>)
ResponseWrite(<s cript>alert(提示信息)toplocation + PageURL + </s cript>)
ResponseWrite(<s cript>alert(提示信息)windowlocation + PageURL + </s cript>)
ResponseWrite(<s cript>alert(提示信息)windowlocation=windowlocation;</s cript>)
方法七
[ASPNET]用Session记录返回上一页的页数
// : | 阅读数 : | 我要推荐 | Add Comment | 文章分类 : ASPNET | 订阅
问题 : 想要在网页上自制一个 上一页的Button一开始是这样使用
Protected Sub PrePage_Click(ByVal sender As Object ByVal e As SystemEventArgs) Handles PrePageClick
ResponseWrite(<script language=javascript>historygo()</script>)
End Sub
使用是因为在按下上一页这个button时网页已经先postback了一次
但是这样固定的后果就是有时候已经在网页上做了很多动作如资料的修改新增等等
按下上一页通常没办法回到想到的页面
经过搜寻将原本程式修改
Protected Sub Page_Load(ByVal sender As Object ByVal e As SystemEventArgs) Handles MeLoad
If Not IsPostBack Then
Session(getback) = 初始值
Else
Session(getback) +=
End If
End Sub
Protected Sub PrePage_Click(ByVal sender As Object ByVal e As SystemEventArgs) Handles PrePageClick
以Session(getback)来记录应该返回之页数
ResponseWrite(<script language=javascript>historygo( & Session(getback) & )</script>)
将值回复为初始值
Session(getback) =
End Sub
这里还要啰嗦一下用Javascript来实现与用Responseredirect()来实现的一点点区别如果你是用天表单的时候想保留你填的数据那就要用historygo()这个东东如果你只是直接返回不用做任何操作你就可以用reponseredirect()了