C# ASP.NET에서 전체 쿼리 문자열 가져오기
PHP 프로그래머로서 저는 $_GET을 사용하여 HTTP 쿼리 문자열을 검색하는 데 익숙합니다.그리고 만약 내가 전체 끈이 필요하다면, 그것을 할 수 있는 많은 방법들이 있습니다.
하지만 ASP에서는 쿼리를 받을 수 없는 것 같습니다.
다음은 news.aspx(일부 HTML에 포함됨)의 코드입니다.
<%
string URL = "http://www.example.com/rendernews.php?"+Request.Querystring;
System.Net.WebClient wc = new System.Net.WebClient();
string data = wc.DownloadString(URL);
Response.Output.Write(data);
%>
원격 서버에서 PHP 스크립트의 출력을 가져오는 중이며, 요청 없이도 완벽하게 작동합니다.쿼리 문자열.
문제는 첫 번째 줄에 있는 전체 쿼리 문자열인 요청을 가져오려고 한다는 것입니다.쿼리 문자열.기본적으로 요청을 의미하는 "Object reference not set to object instance" 오류가 발생합니다.쿼리 문자열이 없습니다.
여기에 무슨 문제가 있는지 아십니까?index.aspx가 http://test.com/news.aspx?id=2 처럼 호출될 때 어떻게 그 쿼리 문자열을 가져올 수 있습니까? 내 스크립트는 http://www.example.com/rendernews.php?id=2 를 가져옵니다.
원시 쿼리 문자열을 문자열로 사용하려면 시도하십시오.
이것은 당신에게 잘 될 것입니다.
에 이 코드를 기록합니다.Page_Load
페이지의 이벤트입니다.
string ID = Request.QueryString["id"].ToString();
Response.Redirect("http://www.example.com/rendernews.php?id=" + ID);
Request.QueryString
쿼리 문자열을 나타내는 키/값 쌍의 컬렉션을 반환합니다.문자열이 아닙니다.그러나 개체 참조 오류가 발생할 것이라고는 생각하지 마십시오.당신이 그것을 얻는 이유는 마우로가 댓글에서 지적했듯이.QueryString이지 QueryString이 아닙니다.
시도:
Request.QueryString.ToString();
또는
<%
string URL = Request.Url.AbsoluteUri
System.Net.WebClient wc = new System.Net.WebClient();
string data = wc.DownloadString(URL);
Response.Output.Write(data);
%>
코드와 동일하지만 쿼리 문자열을 포함한 전체 경로를 반환합니다.
그냥 사용하기Request.QueryString.ToString()
다음과 같은 전체 쿼리 문자열을 가져오려면:
string URL = "http://www.example.com/rendernews.php?"+Request.Querystring.ToString();
요청하는 동안 당신의 예를 테스트했습니다.QueryString은 여전히 암시적이거나 명시적인 문자열로 변환할 수 없습니다.ToString() 메서드가 올바른 결과를 반환합니다.
또한 예제에서와 같이 "+" 연산자를 사용하여 문자열과 연결하면 올바른 결과도 반환됩니다(이는 와 같이 동작하므로).ToString()이 호출되었습니다.
따라서 당신의 코드에는 아무런 문제가 없으며, 당신의 문제는 "QueryString"이 아닌 "QueryString"이라고 쓰는 코드의 오타 때문이라고 생각합니다.
또한 QueryString이 문자열이 아닌 컬렉션이라는 문제가 발생하면 다른 오류 메시지를 제공해야 하므로 오류 메시지에 더 적합합니다.
조금 전에, 저는 같은 문제를 발견했습니다.그리고 저는 다음과 같은 방법으로 그것을 해결합니다.
Response.Redirect("../index.aspx?Name="+this.textName.Text+"&LastName="+this.textlName.Text);
이것과 관련하여
언급URL : https://stackoverflow.com/questions/1879773/get-full-query-string-in-c-sharp-asp-net
'programing' 카테고리의 다른 글
Excel의 행/열 값 재정렬/셔플 (0) | 2023.06.09 |
---|---|
asp.net 에서 캐시를 잠그는 가장 좋은 방법은 무엇입니까? (0) | 2023.06.09 |
TypeScript에 InputEvent에 대한 유형 정의가 있습니까? (0) | 2023.06.09 |
venv를 활성화할 때 "권한 거부"가 표시되는 이유는 무엇입니까? (0) | 2023.06.09 |
Oracle이 SKIP LOCKED 상태에서 상위 N개 행을 반환하도록 강제 적용 (0) | 2023.06.09 |