0

コードの件名を変更していますが、取得できませんでした。読み取り専用だと思っHttpContext.Current.Requestていたので、リクエストのURLを返します。HttpContext.Current.Request["CarName"]変数やセッション変数と同じように値を設定できますか?

この行が何をしているのか教えてください。

編集:

if (HttpContext.Current.Request["CarName"] != null){
}
4

2 に答える 2

0

Requestオブジェクトのインデクサー メソッドは、のメンバーKeyValuePair内の を検索します。Requestは単なる URL ではなく、オブジェクト全体であることに注意してくださいRequest

ILSpy は、これをインデクサー メソッドの実装として示しています。

public string this[string key]
{
    get
    {
        string text = this.QueryString[key];
        if (text != null)
        {
            return text;
        }
        text = this.Form[key];
        if (text != null)
        {
            return text;
        }
        HttpCookie httpCookie = this.Cookies[key];
        if (httpCookie != null)
        {
            return httpCookie.Value;
        }
        text = this.ServerVariables[key];
        if (text != null)
        {
            return text;
        }
        return null;
    }
}

KeyValuePairしたがって、コード行は、「CarName」がオブジェクトの上記のメンバーのいずれかに含まれるキーであるかどうかを確認していRequestます。

于 2013-09-05T00:34:42.040 に答える
0

HttpContext.Request.Itemを参照してください (x[]構文を探すときは、 lookup x.Item):

指定されたオブジェクトをQueryStringFormCookies、またはServerVariablesコレクションから取得します。

指定されたキーを持つ値がソースの 1 つから見つからないnull場合、が返されます。この場合、「CarName」はおそらく有効なリクエスト (例: ../search?CarName=Rusty) で提供されるため、条件は「検索条件なし」をチェックする可能性があります。

これは、セッションを使用することと同じではありません! セッションは、「セッションごと」に、関連付けられたデータに一般的なメカニズムを提供します (ただし、ダイレクト Cookie によってサポートされる場合があります) いずれにしても、なりすましの可能性があるため、クライアントから取得したユーザー データを直接信頼しないでください。

于 2013-09-05T00:34:54.787 に答える