ASP.NET MVC - QueryString 값 가져오기
ASP.NET MVC에서 ASP.NET WebForms에서와 동일한 방법으로 QueryString 매개 변수를 선택해야 합니까?아니면?[AcceptVerbs(HttpVerbs.Get)]
선언문이 어떻게 사용되었습니까?
쿼리 문자열 매개 변수는 작업에 대한 인수를 사용하여 쉽게 수락할 수 있습니다.
public ActionResult Foo(string someValue, int someOtherValue) {...}
같은 질문을 수락할 것입니다..../someroute?someValue=abc&someOtherValue=123
그 외에는 더 많은 제어를 위해 요청을 직접 확인할 수 있습니다.
제 생각에 당신이 찾고 있는 것 같습니다.
Request.QueryString["QueryStringName"]
추가하여 보기에서 액세스할 수 있습니다.@
이제 제 예를 보세요,,,, QueryString으로 URL을 생성했습니다.
var listURL = '@Url.RouteUrl(new { controller = "Sector", action = "List" , name = Request.QueryString["name"]})';
명부URL 값은/Sector/List?name=value'
그리고 언제queryString
비어 있습니다
listURL 값은/Sector/List
언제든지 사용할 수 있습니다.Request.QueryString
MVC가 웹 양식을 처리하고 매개 변수로 전달하도록 할 수도 있습니다.이 방법은 입력 데이터 유형의 유효성을 자동으로 검사하기 때문에 제안된 방법입니다.
UpdateModel/TryUpdateModel과 마찬가지로 컨트롤러의 ValueProvider 속성을 사용하여 필요한 경로, 쿼리 및 양식 매개 변수를 추출하는 것이 좋습니다.이렇게 하면 메소드 서명이 잠재적으로 매우 커지거나 자주 변경되는 것을 방지할 수 있습니다.또한 장치 테스트 중에 컨트롤러에 ValueProvider를 제공할 수 있으므로 테스트가 조금 더 쉬워집니다.
실제로 MVC에서 쿼리 문자열을 캡처할 수 있는 방법은 두 가지입니다.
public ActionResult CrazyMVC(string knownQuerystring)
{
// This is the known query string captured by the Controller Action Method parameter above
string myKnownQuerystring = knownQuerystring;
// This is what I call the mysterious "unknown" query string
// It is not known because the Controller isn't capturing it
string myUnknownQuerystring = Request.QueryString["unknownQuerystring"];
return Content(myKnownQuerystring + " - " + myUnknownQuerystring);
}
이렇게 하면 두 쿼리 문자열을 모두 캡처할 수 있습니다.예:
/CrazyMVC?knownQuerystring=123&unknownQuerystring=456
Output: 123 - 456
그들이 왜 그런 식으로 디자인했는지 묻지 마세요.개별 쿼리 문자열에 대한 전체 컨트롤러 작업 시스템을 버리고 URL에 대한 모든 문자열/인코딩된 파일 개체의 캡처된 동적 목록을 url-form-encoding으로 반환하여 한 번의 호출로 모두에 쉽게 액세스할 수 있다면 더욱 의미가 있을 것입니다.가능하다면 여기 있는 누군가가 그것을 보여줄 수 있을까요?
컨트롤러가 쿼리 문자열을 캡처하는 방법은 이해할 수 없지만, 이는 컨트롤러가 즉시 사용자에게 알려주는 것보다 쿼리 문자열을 캡처할 수 있는 유연성이 더 높다는 것을 의미합니다.그러니 독약을 고르세요...둘 다 잘 작동합니다.
@상황.부탁한다.쿼리["사용자 ID"]
.NET 6(및 기타 넷코어)에서 올바른 방법입니다.
var Param = 요청입니다.쿼리["IndexString"];
문자열이어야 하는 경우
문자열 매개 변수 = 요청.쿼리["IndexString"].문자열로();
언급URL : https://stackoverflow.com/questions/627838/asp-net-mvc-getting-querystring-values
'programing' 카테고리의 다른 글
모의 서비스/구성요소를 사용한 스프링 부트 통합 테스트 (0) | 2023.07.01 |
---|---|
Ajax 업데이트 후 jQuery에서 이벤트 다시 바인딩(업데이트 패널) (0) | 2023.07.01 |
NSA 귀속 문자열을 연결하려면 어떻게 해야 합니까? (0) | 2023.07.01 |
Excel VBA 기능을 사용하여 배열을 워크북에 인쇄 (0) | 2023.07.01 |
SELECT FROM 문에서 테이블 유형을 사용하는 방법은 무엇입니까? (0) | 2023.07.01 |