Request.QueryString에 ASP.NET에서 특정 값이 있는지 확인하는 방법은 무엇입니까?
나는이 error.aspx
페이지를. 사용자가 해당 페이지를 방문하면 page_load()
사용 하는 메소드 URL 에서 오류 경로를 가져오고 Request.QueryString["aspxerrorpath"]
제대로 작동합니다.
그러나 사용자가 해당 페이지에 직접 액세스하면 aspxerrorpath
거기에 없기 때문에 예외가 생성됩니다 .
있는지 여부를 어떻게 확인할 수 aspxerrorpath
있습니까?
다음을 확인할 수 있습니다 null
.
if(Request.QueryString["aspxerrorpath"]!=null)
{
//your code that depends on aspxerrorpath here
}
매개 변수 값을 확인하십시오.
// .NET < 4.0
if (string.IsNullOrEmpty(Request.QueryString["aspxerrorpath"]))
{
// not there!
}
// .NET >= 4.0
if (string.IsNullOrWhiteSpace(Request.QueryString["aspxerrorpath"]))
{
// not there!
}
존재하지 않는 경우 값은입니다. null
존재하지만 값이 설정되지 않은 경우 빈 문자열이됩니다.
null
빈 문자열은 특정 상황에 적합하지 않기 때문에 위의 내용이에 대한 테스트보다 더 잘 맞을 것이라고 생각합니다 .
빈 QueryString을 확인하려면 Request.QueryString.HasKeys
속성 을 사용해야 합니다.
키가 있는지 확인하려면 : Request.QueryString.AllKeys.Contains()
그런 다음 ist의 값을 얻고 isNullOrEmpty 등과 같이 원하는 다른 검사를 수행 할 수 있습니다.
다음을 시도 할 수도 있습니다.
if (!Request.QueryString.AllKeys.Contains("aspxerrorpath"))
return;
string.IsNullOrEmpty(Request.QueryString["aspxerrorpath"]) //true -> there is no value
값이 있으면 반환됩니다.
보다 직접적인 접근 방식은 어떻습니까?
if (Request.QueryString.AllKeys.Contains("mykey")
문제를 해결하려면 페이지의 Page_Load 메소드에 다음 행을 작성하십시오.
if (String.IsNullOrEmpty(Request.QueryString["aspxerrorpath"])) return;
.Net 4.0은 null, 빈 또는 공백 문자열을 더 자세히 보여줍니다. 다음 줄에 표시된대로 사용하세요.
if(string.IsNullOrWhiteSpace(Request.QueryString["aspxerrorpath"])) return;
쿼리 문자열에 aspxerrorpath가 없으면 다음 문 (비즈니스 논리)이 실행되지 않습니다.
찾고있는 수표는 다음과 같습니다.
if(Request.QueryString["query"] != null)
null
해당 쿼리 문자열에 해당 키에 대한 값이 없기 때문에 반환 됩니다.
'Programing' 카테고리의 다른 글
헤더 파일의 여러 클래스 vs. 클래스 당 단일 헤더 파일 (0) | 2020.11.07 |
---|---|
C #에서 Dictionary의 가장 높은 값의 키를 얻는 좋은 방법 (0) | 2020.11.07 |
삽입 정렬과 버블 정렬 알고리즘 (0) | 2020.11.07 |
모든 com.android.support 라이브러리는 정확히 동일한 버전을 사용해야합니다. (0) | 2020.11.07 |
Asp.Net WebApi에 대한 Angular, 서버에서 CSRF 구현 (0) | 2020.11.06 |