方案一:javascript方案:(此方案若用在服务端控件上不能实现跳转,因为服务端控件在跳转前会回发一次,就改变了document.referrer的值)
<img ID="imgCancel" alt="" src="images/login_07.gif" onclick="GoPre()" />
在图片按钮上加上一个js方法GoPre()
js代码:
<script type="text/javascript">
function GoPre() {
window.location.href = document.referrer; //使用document.referrer
}
</script>
方案二:asp.net后台处理方案:(我这里使用imageButton控件)
<asp:ImageButton ID="imgBtnCancel" runat="server" ImageUrl="images/login_07.gif" OnClick="imgBtnCancel_Click"/>
步骤一:在 Page_Load方法中获取Request.UrlReferrer,并保存在viewState里面
if (Request.UrlReferrer != null)
{
ViewState["urlPre"] = Request.UrlReferrer;
}
步骤二:设置按钮的点击事件OnClick
protected void imgBtnCancel_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect(ViewState["urlPre"].ToString());
}
小结:以上两种都可实现跳转回前一页的功能,为了减轻服务端压力,一般优先使用客户端跳转,即js解决方案。

本文介绍了两种实现在网页应用中返回上一页的方法:一种是使用JavaScript直接操作浏览器的referrer属性;另一种是在ASP.NET环境中利用服务端控件及ViewState保存前页URL。这两种方法各有优势,客户端方案更轻量级。

被折叠的 条评论
为什么被折叠?



