国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET 中處理頁面"回退"的方法

2024-07-10 13:12:37
字體:
來源:轉載
供稿:網友
注冊會員,創建你的web開發資料庫,

  我們在編寫基于 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;
        }
    }

 

  // 記錄上一頁面的信息或更新 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);
    }

 

   //在代碼中回退
   protected void returntopreviouspage()
  ...{
        string referrer = urlreferrer;
        if (referrer != null)
            response.redirect(referrer);
        else
            response.redirect("~/default.aspx", true);

 

 
  3)直接在代碼中處理回退操作(如 back_click),可以直接調用如下方法
 
  2)在 page_load 事件記錄上一頁面地址、更新 postback 次數、設置回退鏈接的地址

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 射洪县| 新郑市| 喀喇沁旗| 青浦区| 和平区| 衡阳市| 广灵县| 新龙县| 大兴区| 宜昌市| 灌阳县| 建瓯市| 额敏县| 建平县| 汤原县| 镇平县| 玛纳斯县| 大英县| 阳信县| 连山| 方正县| 离岛区| 长白| 广元市| 连州市| 明水县| 西安市| 金昌市| 新巴尔虎左旗| 常熟市| 布拖县| 潞城市| 克什克腾旗| 德惠市| 资源县| 利辛县| 瑞昌市| 鹰潭市| 霍州市| 花垣县| 从化市|