コードの件名を変更していますが、取得できませんでした。読み取り専用だと思っHttpContext.Current.Request
ていたので、リクエストのURLを返します。HttpContext.Current.Request["CarName"]
変数やセッション変数と同じように値を設定できますか?
この行が何をしているのか教えてください。
編集:
if (HttpContext.Current.Request["CarName"] != null){
}
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
ます。
HttpContext.Request.Itemを参照してください (x[]
構文を探すときは、 lookup x.Item
):
指定されたオブジェクトをQueryString、Form、Cookies、またはServerVariablesコレクションから取得します。
指定されたキーを持つ値がソースの 1 つから見つからないnull
場合、が返されます。この場合、「CarName」はおそらく有効なリクエスト (例: ../search?CarName=Rusty
) で提供されるため、条件は「検索条件なし」をチェックする可能性があります。
これは、セッションを使用することと同じではありません! セッションは、「セッションごと」に、関連付けられたデータに一般的なメカニズムを提供します (ただし、ダイレクト Cookie によってサポートされる場合があります) 。いずれにしても、なりすましの可能性があるため、クライアントから取得したユーザー データを直接信頼しないでください。