天天看點

Request.QueryString與Request的差別

Request.Form可以擷取表單中送出的内容,對于單選則會自定進行判斷擷取選中的值。

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];

            HttpCookie cookie = this.Cookies[key];

            if (cookie != null)

                return cookie.Value;

            str = this.ServerVariables[key];

            return null;

        }

    }

asp.net core 交流群:787464275 歡迎加群交流

如果您認為這篇文章還不錯或者有所收獲,您可以點選右下角的【推薦】按鈕精神支援,因為這種支援是我繼續寫作,分享的最大動力!

作者:

LouieGuo http://www.cnblogs.com/stulzq

聲明:原創部落格請在轉載時保留原文連結或者在文章開頭加上本人部落格位址,如發現錯誤,歡迎批評指正。凡是轉載于本人的文章,不能設定打賞功能,如有特殊需求請與本人聯系!

繼續閱讀