programing

모든 쿼리 문자열 이름 / 값 쌍을 컬렉션으로 가져 오는 방법이 있습니까?

minecode 2021. 1. 18. 07:49
반응형

모든 쿼리 문자열 이름 / 값 쌍을 컬렉션으로 가져 오는 방법이 있습니까?


모든 쿼리 문자열 이름 / 값 쌍을 컬렉션으로 가져 오는 방법이 있습니까?

나는 .net에 내장 된 방식을 찾고 있는데, 그렇지 않다면 &에서 분할하고 컬렉션을로드 할 수 있습니다.


예, HttpRequest.QueryString컬렉션을 사용합니다 .

HTTP 쿼리 문자열 변수의 컬렉션을 가져옵니다.

다음과 같이 사용할 수 있습니다.

foreach (String key in Request.QueryString.AllKeys)
{
    Response.Write("Key: " + key + " Value: " + Request.QueryString[key]);
}

음, Request.QueryString이미 컬렉션입니다. 특히 NameValueCollection. 코드가 ASP.NET에서 실행되고 있다면 그게 전부입니다.

따라서 귀하의 질문에 답하십시오. 예, 있습니다.


LINQ를 사용하여 배열 내에서 액세스 할 수있는 익명 개체 목록을 만들 수 있습니다.

var qsArray = Request.QueryString.AllKeys
    .Select(key => new { Name=key.ToString(), Value=Request.QueryString[key.ToString()]})
    .ToArray();

문자열로만 표현 된 쿼리 문자열이있는 경우 HttpUtility.ParseQueryString사용 하여 NameValueCollection으로 구문 분석합니다.

그러나 이것이 HttpRequest의 일부인 경우 이미 구문 분석 된 HttpRequest의 QueryString 속성을 사용하십시오.


QueryStringHttpRequest클래스의 속성 은 실제로 NameValueCollection 클래스입니다. 당신이해야 할 일은

NameValueCollection col = Request.QueryString;

참조 URL : https://stackoverflow.com/questions/2375372/is-there-a-way-to-get-all-the-querystring-name-value-pairs-into-a-collection

반응형