日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET 中处理页面“回退”的方法

發布時間:2023/12/1 asp.net 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET 中处理页面“回退”的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們在編寫基于?ASP.NET 的應用程序時,如果代碼執行出錯或檢測到異常,一般會提示用戶“返回”或“回退”,或者在多步操作、列表/詳細的查看界面中,也會給用戶提供回退到上一頁面的鏈接,對于這種情況,大家很快就會想到的簡單做法就是利用 Javascript 來實現,即 history.go(-1) ,但是由于 ASP.NET 頁面的 PostBack 機制,所以 history.go(-1) 可能還是當前頁面,而不能真正回退到上一頁面。

在 Classifieds Site Starter Kit 中,學習到一種不錯的關于回退的處理方法,可以分別在客戶端和服務器控件中實現頁面的回退,代碼如下:

1)首先在頁面中增加兩個屬性

//記錄上一個頁面的信息 private string UrlReferrer ...{ get ...{ return ViewState["UrlReferrer"] as string; } set ...{ ViewState["UrlReferrer"] = value; } } //記錄 PostBack 的次數 public int NumPostBacks ...{ get ...{ if (ViewState["NumPostBacks"] != null) return (int)ViewState["NumPostBacks"]; else ...{ ViewState["NumPostBacks"] = 0; return 0; } } set ...{ ViewState["NumPostBacks"] = value; } } ?

2)在 Page_Load 事件記錄上一頁面地址、更新 Postback 次數、設置回退鏈接的地址 // 記錄上一頁面的信息或更新 PostBack 的次數 protected void Page_Load(object sender, EventArgs e) ...{ if (!Page.IsPostBack) ...{ if (Request.UrlReferrer != null) this.UrlReferrer = Request.UrlReferrer.ToString(); } else NumPostBacks++; int goBackSteps = NumPostBacks + 1; BackLink.NavigateUrl = String.Format("javascript:history.go(-{0});", goBackSteps); }

?

3)直接在代碼中處理回退操作(如 Back_Click),可以直接調用如下方法

//在代碼中回退 protected void ReturnToPreviousPage() ...{ string referrer = UrlReferrer; if (referrer != null) Response.Redirect(referrer); else Response.Redirect("~/default.aspx", true); }

轉載于:https://www.cnblogs.com/brusehht/archive/2006/10/18/532185.html

總結

以上是生活随笔為你收集整理的ASP.NET 中处理页面“回退”的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。