programing

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

megabox 2023. 9. 11. 21:35
반응형

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

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

.net에 내장된 방법을 찾고 있습니다. 만약 그렇지 않다면 &에서 분할해서 컬렉션을 로드할 수 있습니다.

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

HTTP 쿼리 문자열 변수 모음을 가져옵니다.

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

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

음.Request.QueryString이미 IS 컬렉션입니다.구체적으로 말하자면, 그것은NameValueCollection. 코드가 ASP에서 실행 중인 경우.NET, 그거면 돼요.

질문에 대답해 드리겠습니다.네, 있습니다.

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

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

쿼리 문자열이 문자열로만 표시된 경우 HttpUtility를 사용합니다.쿼리 문자열을 구문 분석하여 NameValueCollection으로 구문 분석합니다.

그러나 HttpRequest의 일부인 경우 HttpRequest의 이미 구문 분석된 QueryString-property를 사용합니다.

QueryString에 있는 재산.HttpRequestclass가 실제로 NameValueCollection class입니다.당신이 해야 할 일은

NameValueCollection col = Request 입니다.쿼리 문자열;

매개변수 사전 만들기

Dictionary<string, string> parameters = new Dictionary<string, string>();
            parameters = Request.QueryString.Keys.Cast<string>().ToDictionary(k => k, v => Request.QueryString[v]);

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

반응형