programing

쿼리 문자열에서 여러 매개 변수를 전달하는 방법

javamemo 2023. 5. 10. 20:09
반응형

쿼리 문자열에서 여러 매개 변수를 전달하는 방법

다음과 같은 매개 변수로 전달해야 하는 세 가지 값이 있습니다.strID,strName그리고.strDate.

이 세 가지 매개 변수를 의 다른 페이지로 리디렉션합니다.Response.Redirect()누가 나에게 정확한 쿼리 문자열을 제공할 수 있습니까?

쿼리_string

(다음은 위키백과 항목의 링크 부분 본문입니다.)

구조.

쿼리 문자열을 포함하는 일반적인 URL은 다음과 같습니다.

http://server/path/program?query_string

서버는 이러한 페이지에 대한 요청을 수신하면 프로그램을 실행하고(그렇게 구성된 경우) query_string을 변경하지 않고 프로그램에 전달합니다.물음표는 구분 기호로 사용되며 쿼리 문자열의 일부가 아닙니다.

웹 페이지의 링크는 쿼리 문자열을 포함하는 URL을 가질 수 있지만 HTML은 웹 브라우저가 쿼리 문자열을 생성할 수 있는 세 가지 방법을 정의합니다.

  • ...을 통한 웹 양식.요소
  • 구성이 있는 요소의 ismap 속성을 통한 서버 측 이미지 맵
  • 현재는 사용되지 않는 요소를 통한 색인화된 검색

웹 양식

쿼리 문자열의 주 용도는 웹 양식이라고도 하는 HTML 양식의 내용을 포함하는 것입니다.특히 필드1, 필드2, 필드3을 포함하는 양식을 제출하면 필드의 내용이 다음과 같이 쿼리 문자열로 인코딩됩니다.

field1=value1&field2=value2&field3=value3...

  • 쿼리 문자열은 일련의 필드-값 쌍으로 구성됩니다.
  • 각 쌍 내에서 필드 이름과 값은 등호로 구분됩니다.값이 빈 문자열인 경우 등호를 생략할 수 있습니다.
  • 일련의 쌍은 HTML에 포함되어 있고 ...에 의해 생성되지 않은 URL의 경우 앰퍼샌드인 '&'(또는 세미콜론, ';')로 구분됩니다.아래 참조).명확한 표준은 없지만 대부분의 웹 프레임워크에서는 여러 값을 단일 필드와 연결할 수 있습니다.

field1=value1&field1=value2&field1=value3...

양식의 각 필드에 대해 쿼리 문자열에는 쌍 필드= 값이 포함됩니다.웹 양식은 사용자가 볼 수 없는 필드를 포함할 수 있습니다. 이러한 필드는 양식이 제출될 때 쿼리 문자열에 포함됩니다.

이 규약은 W3C 권장 사항입니다.W3C는 모든 웹 서버가 앰퍼샌드 구분자[6] 외에도 세미콜론 구분자를 지원하여 엠퍼샌드를 이스케이프하지 않고 HTML 문서 내 URL에서 응용 프로그램/x-www-form-url 인코딩 쿼리 문자열을 허용할 것을 권장합니다.

기술적으로 양식 제출 방법이 GET인 경우에만 양식 내용이 쿼리 문자열로 인코딩됩니다.제출 방법이 POST일 때 기본적으로 동일한 인코딩이 사용되지만, 결과는 쿼리 문자열로 전송되지 않습니다. 즉, 양식의 작업 URL에 추가되지 않습니다.문자열은 HTTP 요청의 본문으로 전송됩니다.

Query String: ?strID=XXXX&strName=yyyy&strDate=zzzzz

재연결하기 전에:

string queryString = Request.QueryString.ToString();

Response.Redirect("page.aspx?"+queryString);

이렇게 해보세요.그건 작동할 거야.

Response.Redirect(String.Format("yourpage.aspx?strId={0}&strName={1}&strDate{2}", Server.UrlEncode(strId), Server.UrlEncode(strName),Server.UrlEncode(strDate)));

이 작업은 다음을 사용하여 수행할 수 있습니다.

Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");
~mypage.aspx?strID=x&strName=y&strDate=z

AbsoluteUri를 사용하면 다음과 같이 얻을 수 있습니다.

string myURI = Request.Url.AbsoluteUri;
 if (!WebSecurity.IsAuthenticated) {
        Response.Redirect("~/Login?returnUrl="
            + Request.Url.AbsoluteUri );

로그인한 후:

var returnUrl = Request.QueryString["returnUrl"];
 if(WebSecurity.Login(username,password,true)){
                Context.RedirectLocal(returnUrl);

저한테는 잘 맞습니다.

다중 쿼리 매개 변수 예:

http://www.mywebsite.com/mycontroller/myaction?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3

언급URL : https://stackoverflow.com/questions/724526/how-to-pass-multiple-parameters-in-a-querystring

반응형