2011-07-27 4 views
5

.NET에서 C#을 사용하여 내 클래스를 URI를 통해 요청한 후에 호출합니다. 이 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 

입니까? 물론 URI의 각 매개 변수에 대한 이름을 알 수 없으므로 다음과 같은 무작위 쿼리 문자열의 경우 :

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

예를 반환해야합니다. 할 수 있을까요?

답변

7

Request.QueryStringnull (매개 변수 없음)이되도록 허용해야합니다.

는이 string으로 돌아 가기 :

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

가 반환하는 bool : 요청한 페이지는 다음이 true를 돌려줍니다 정의 된 querystirng 매개 변수가있는 경우

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

ormation on Request.QueryString here.

+0

그러나 Request.QueryString == null 의미 그 querystring 매개 변수를 포함하지 않습니다? – markzzz

+0

Fixed Sorry :) 이것은 매개 변수가 존재하는지 확인하고 "YES"를 출력하고 그렇지 않으면 "NO"를 출력합니다. 이 도움이 되었으면 좋겠다. –

+0

@Rionmonster'Request.QueryString == null'은 코드 예제에서 예외를 던질 것이다. 위의 내 대답을 참조하십시오. –

2

그렇지 않으면 그것은 것,이 방법을 시도 false를 반환

if (Request.QueryString.HasKeys()) 
{ 
    Response.Write("The requested page URI has parameters"); 
} 
관련 문제