Request.QueryString["id"]與Request["id"]區別

Request.QueryString["id"] 只能讀取通過地址欄參數傳遞過來的名爲id的參數。
Request["id"]是一個複合功能讀取函數。
它的優先級順序爲
QueryString > Form > Cookies > ServerVariables

也就是說,如果存在名爲id的地址欄參數,Request[ "id" ] 的效果和 Request.QueryString["id"] 是樣的。
如果不存在名爲id的地址欄參數,Request.QueryString["id"]將會返回空,但是Request[ "id" ]會繼續檢查是否存在名爲id的表單提交元素,如果不存在,則繼續嘗試檢查名爲id的Cookie,如果不存在,繼續檢查名爲id的服務器環境變量。它將最多做出4個嘗試,只有四個嘗試都失敗,才返回空。


以下是Request[ "id" ]的內部實現代碼:
public string this[string key]
    {
        get
        {
            string str = this.QueryString[key];
            if (str != null)
            {
                return str;
            }
            str = this.Form[key];
            if (str != null)
            {
                return str;
            }
            HttpCookie cookie = this.Cookies[key];
            if (cookie != null)
            {
                return cookie.Value;
            }
            str = this.ServerVariables[key];
            if (str != null)
            {
                return str;
            }
            return null;
        }
    }

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