해당 요청을 확인하는 방법.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()
그런 다음 리스트의 값을 가져와서 isNullOrEmpty 등 원하는 다른 검사를 수행할 수 있습니다.
다음을 시도할 수도 있습니다.
if (!Request.QueryString.AllKeys.Contains("aspxerrorpath"))
return;
string.IsNullOrEmpty(Request.QueryString["aspxerrorpath"]) //true -> there is no value
값이 있으면 반환됩니다.
좀 더 직접적인 접근법은 어떻습니까?
if (Request.QueryString.AllKeys.Contains("mykey")
당신이 찾고 있는 수표는 다음과 같습니다.
if(Request.QueryString["query"] != null)
돌아옵니다null
이 쿼리 문자열에는 해당 키에 대한 값이 없기 때문입니다.
문제를 해결하려면 페이지의 Page_Load 메서드에 다음 행을 작성합니다.
if (String.IsNullOrEmpty(Request.QueryString["aspxerrorpath"])) return;
.Net 4.0은 null, 빈 문자열 또는 공백 문자열을 더 자세히 볼 수 있도록 제공합니다. 다음 줄과 같이 사용하십시오.
if(string.IsNullOrWhiteSpace(Request.QueryString["aspxerrorpath"])) return;
쿼리 문자열에 spx 오류 경로가 없는 경우 다음 문(비즈니스 논리)이 실행되지 않습니다.
언급URL : https://stackoverflow.com/questions/8678471/how-to-check-that-request-querystring-has-a-specific-value-or-not-in-asp-net
'sourcecode' 카테고리의 다른 글
스프링 부트: java.awt.헤드리스예외. (0) | 2023.07.03 |
---|---|
Git 버전 제어의 패치란 무엇입니까? (0) | 2023.07.03 |
mongodb에 단일 쿼리가 있는 다중 카운트 (0) | 2023.07.03 |
MongoDB에서 제약 조건을 적용하는 방법은 무엇입니까? (0) | 2023.07.03 |
버전을 2.7.0으로 업데이트할 때 Springboot을 시작하는 중 오류 발생 "존재하지 않는 메서드를 호출하려고 했습니다." (0) | 2023.07.03 |