C#獲得來源頁面的URL

ASP.NET的UrlReferrer方法雖然可以獲取來源網址,但最近在進行移動開發的時候,雖然UrlReferrer獲取的包含中文參數的地址是正確的,但設置爲Link的NavigateUrl屬性時,點擊鏈接返回後,來源網址獲取的是亂碼。所以使用該替代方法getParam:

   private string getParam(string strHref, string strName)
    {
        int intPos = strHref.IndexOf("?");
        if (intPos < 1)
            return "";

        string strRight = strHref.Substring(intPos + 1);

        string[] arrPram = Utils.SplitString(strRight, "&");//SplitString方法:將某字符串按特定字符或字符串分割爲字符串數組
        for (int i = 0; i < arrPram.Length; i++)
        {
            string[] arrPramName = Utils.SplitString(arrPram[i], "=");
            if (arrPramName[0].ToLower() == strName.ToLower()) return arrPramName[1];
        }
        return "";
    }

如何使用:

protected void Page_Load(object sender, EventArgs e)
    {
        string url = Request.UrlReferrer.ToString();
        url = "SearchResult.aspx?sArea=" + Server.UrlEncode(getParam(url, "sArea")) + "&sKeyword=" + Server.UrlEncode(getParam(url, "sKeyword"));
        linkBack.NavigateUrl = url;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章