asp.net 返回上一页的实现方法小集

本文总结了ASP.NET中实现“返回上一页”功能的五种方法,包括使用HTML控件结合JavaScript、Response对象的不同方法及 ViewState。这些方法各有优劣,适用于不同场景。

 

返回上一页的这个东东在我们做项目的时候一般是用于填写完表单后确认的时候,有对原来输入的数据进行修改时用的,或者是因为网站为了方便浏览者而有心添加的一个东东,一般这种功能的实现在ASP.net中都是用一个button的控件来实现的,实现的方法有很多,今天恰好在做项目时碰到要用这个东东,我就把能实现" 返回上一页","返回前一页"的几种方法总结了一下,供大家学习之用,请多多指教:0)

其实要实现这个功能主要还是要用到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("对不起,当前是最前页码“);


这样才好使一点点喔
}

以下这段来自: http://stswordman.cnblogs.com/archive/2006/06/12/423910.html
在使用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>


这里还要啰嗦一下用Javascript来实现与用Response.redirect()来实现的一点点区别,如果你是用天表单的时候想保留你填的数据,那就要用history.go();这个东东,如果你只是直接返回不用做任何操作,你就可以用reponse.redirect()了.
01-腾讯各职位能力模型图02-腾讯人力资源管理03-腾讯招聘体系04-腾讯培训体系及文化05-腾讯薪酬绩效06-腾讯员工职业发展腾讯产品经理素质与技能要求.pdf腾讯公司基层管理干部职业领导力发展规划书.pdf腾讯公司职业发展体系(141页) (1).pdf腾讯公司职业发展体系介绍-专业职级.pptx腾讯领导力职业发展通道标准.pdf腾讯员工职业发展规划书-技术和专业族.pdf腾讯员工职业发展规划书-秘书.pdf腾讯员工职业发展规划书-市场族.pdf腾讯员工职业发展规划书填写指南.pdf腾讯职业发展体系管理者手册.pdf1、腾讯绩效管理制度.pdf2、腾讯薪酬管理制度.pdf3、腾讯绩效管理实践.pdf4、腾讯薪酬福利.pdf5、腾讯绩效考核方案设计.docx6、腾讯(团)绩效管理制度(在用).doc7、人力资源管理之腾讯薪酬管理PPT.pdf8、腾讯职级薪酬标准及标杆对比.pdf1-打造一流的腾讯学院,加速人才培养PPT.pdf2-腾讯,飞龙计划;.pdf3-腾讯培训管理制度.pdf4-腾讯培训体系(内部资料).ppt5-腾讯文化建设介绍PPT.pdf6-腾讯-新员工融入制度.pdf7-腾讯学院培训体系构架.pdf8-腾讯学院院长分享将培训转化商业结果.pdf9-腾讯组织文化【鹅厂外看鹅厂】.pdf1、腾讯人力资源管理体系.pdf2、腾讯人力资源管理实践.pdf3、腾讯人力资源管理资料全套资料全.pdf4、腾讯人力资源管理发展、现状、转型、落地、未来全揭秘.pdf5、腾讯人力资源战略.ppt6 、腾讯HR三支柱转型.pdf7、腾讯的HR三支柱:COE、HRBP、SDC是如何分工落地的?.docx8、腾讯三支柱与HRBP特色.pdf9、腾讯组织架构及其各业务战略分析.pdf10、腾讯组织文化建设实践.pdf11、腾讯、阿里HR案例分享:全新人力资源管理模式PPT.pdf12、腾讯、阿里HR案例分享:全新人力资源管理模式PPT.pptx13、腾讯PDI培训.pdf14、腾讯管理干部管理规范.pdf15、腾讯企业文化体系.pdf
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值