簡體   English   中英

ASP.NET:如何處理所有頁面重定向?

[英]ASP.NET: How to handle all page redirection?

在ASP.NET頁中,有實際方法可以處理以下所有這些問題:

  1. 回傳
  2. 用戶單擊頁面中的鏈接時的重定向
  3. 用戶在瀏覽器中更改URL字段時的重定向

只需一個Web控件(或方法)?

TQ

回發可以在服務器端處理

另外兩個-鏈接點擊或網址字段應僅使用Javascript處理。

更新:您可以使用jQuery顯示問題中提到的“加載動畫”

$(window).unload( function () { alert("Bye now!"); } );

一旦用戶嘗試離開頁面,這將發出警報。 您可以對其進行更改,以便顯示動畫gif圖像。

但是,必須對此進行測試。 我認為這毫無意義; 在瀏覽器開始加載新頁面之前,不太確定gif的顯示時間。

編輯:

正如我在評論中提到的,根據我的上次修改,您可以使用javascript進行回發

$(window).unload( function () { __doPostBack("leaving"); } );

會向服務器發出回發,您可以通過以下方式捕獲它:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    this.PreLoad += (sender, args) =>
                        {

                            this.ClientScript.GetPostBackEventReference(this, "arg");

                            if (!IsPostBack) { return; }

                            string __targetaction = this.Request["__EVENTTARGET"];
                            string __args = this.Request["__EVENTARGUMENT"];

                            if (string.IsNullOrEmpty(__args)) return;

                            if (__targetaction == "leaving")
                            {
                                doSomething();
                            }
                        };
}

再說一次,我不太確定這會不會有太大幫助,因為用戶正在離開該頁面。

回傳
在此Page.IsPostBack將為= true

用戶單擊頁面中的鏈接時的重定向
在這種情況下,您將在引薦來源網址中獲得價值。 您可以使用Request.ServerVariables [“ http_referer”]或Request.UrlReferrer

用戶在瀏覽器中更改URL字段時的重定向
否則這是第三種情況

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM