2011-07-27 19 views
5

私は自分のクラスを.NET上のC#に置いています。このURIにいくつかのパラメータが含まれているかどうかを確認する必要があります。例えばリクエストURIにパラメータがあるかどうかを確認する方法

http://www.website.com/page.aspx?ID=9   // must return YES 
http://www.website.com/page.aspx?ID=9&Page=2 // must return YES 
http://www.website.com/page.aspx    // must return NO 

が、それは可能ですか?私はYES返す必要が

http://www.website.com/page.aspx?RandomParameter=1 

:のようなランダムなクエリ文字列のためのように、もちろん私は、URIの各パラメータの名前を知っていることができませんでした。それはできますか?

答えて

7

Request.QueryStringnullである必要があります(パラメータなし)。

stringを返すために:

return Request.QueryString != null && Request.QueryString.Count > 0 ? "YES" : "NO"; 

boolを返すために:

return Request.QueryString != null && Request.QueryString.Count > 0; 
5

私はこれらで働いているので、それはかなり長い間でしたが、私は次のようなものは、あなたのニーズに合わせなければならないと考えている:

ソリューション:

if(Request.QueryString != null && Request.QueryString.Count > 0) 
{ 
    return "YES"; 
} 
else 
{ 
    return "NO"; 
} 

インラインソリューション(この場合は

return (Request.QueryString != null && Request.QueryString.Count > 0) ? "YES":"NO"; 

あなたはより多くのinfファイルを見つけることができます:あなたが行うために必要なすべて)でしたOrmation on Request.QueryString here

+0

しかしRequest.QueryString == nullそのクエリ文字列にはパラメータが含まれていませんか? – markzzz

+0

Fixed Sorry :)これはパラメータが存在するかどうかをチェックして "YES"を出力し、そうでなければ "NO"を出力します。これが役に立ちますようお願いいたします。 –

+0

@Rionmonster 'Request.QueryString == null'は、コード例で例外をスローします。上記の私の答えを参照してください。 –

2

要求されたページが、それはtrueが返されます定義された任意のquerystirngパラメータを持っている場合は、この方法を試してみてください、それ以外の場合は、意志falseを返す

if (Request.QueryString.HasKeys()) 
{ 
    Response.Write("The requested page URI has parameters"); 
} 
関連する問題