1

asp.net のクエリ文字列について質問があります。

クエリ文字列パラメーターを持つ標準クエリ文字列は ですが"www.mysity.url?key1=value1&key2=value2"、クエリ文字列キーがあるかどうかを確認するだけで済みます...はい、正しい決定の1つです: www.mysite.url?reset=true、しかし、この過剰な構文は私にとっては.

"<a href='UrlHelper.GetResetUrl()'>Reset</a>"マークアップでは、このメソッドは returnのようなものを使用"www.mysity.url?reset"しますが、ユーザー側のマークアップでは「リセット」があります

4

3 に答える 3

5

パラメータの名前を指定しない場合は、 と見なされnullます。

その値はreset

したがって、次のように確認する必要があります。

if(Request.QueryString[null]=="reset")
{
    //Take some reset action
}
于 2012-09-07T10:21:59.537 に答える
0

クエリ文字列パラメーターを処理するすべてのコードは、大文字と小文字を区別しない必要があります。ブラウザ (またはインターネット インフラストラクチャの一部?) によって、ケースが変換される場合があります。

リセット パラメータがクエリ文字列に存在するかどうかを確認する 1 つの方法:

bool reset = Request.Url.Query.IndexOf("reset", StringComparison.CurrentCultureIgnoreCase) > -1;
于 2012-09-07T10:13:12.070 に答える
0

迅速で汚い解決策は次のとおりです。

if(Request.Url.Query.Contains("?reset"))
{
    // ok we have a reset
}

www.mysity.url?reset標準のリセット呼び出し ask as:があり、リセット URL に他のパラメータがないと仮定します。持っている場合は、resetキーワードを簡単に確認できます。

このコードHttpContext.Current.Request["reset"]は常に null を返すため、難しくしたい場合の次善の策は、URL の後のキーを手動で分析することです。

于 2012-09-07T10:13:12.050 に答える