문제

새로운 ASP.NET 라우팅은 간단한 스타일의 경로를 URL 에만 사용할 경우 같은 url 을:

http://example.com/items/search.xhtml?term=Text+to+find&page=2

당신은 당신을 사용하여 모든 매개 변수는 유효성 검사?

도움이 되었습니까?

해결책

경로에 나열되지 않은 모든 뷰 데이터 항목은 쿼리 스트링에 자동으로 매핑되므로 "Items/Search.xhtml"을 맵핑하면 작업에 표시됩니다.

Search(string term, int page)

그런 다음 찾고있는 결과를 얻어야합니다.

다른 팁

QueryString 매개 변수를 경로와 일치시킬 수 있습니다.

{*contenturl}

나머지 URL을 해당 변수로 채 웁니다.

또한 인코딩 된 URL을 경로 매개 변수로 경로로 전달하는 데 어려움이있었습니다.

URL에서 URL 인코딩 된 숯을 사용할 수는 없지만 쿼리 문자열로 사용할 수 있습니다.

따라서 쿼리 문자열 요소가있는 경로가 필요했습니다.

경로가 있다고 말합니다.

MapPageRoute("myroute", "myroute/{x}", "~/routehander.aspx")

그러나 나는 다음과 같은 형태로 그것을 원한다.

http://mywebsite.com/myroute/{x}?url=myurl

우리는 할 수있어:

Dim x as integer = 12
Dim rvd As New Routing.RouteValueDictionary
rvd.Add("x", x)
rvd.Add("url", Server.UrlEncode("/default.aspx"))
HttpContext.Current.ApplicationInstance.Response.RedirectToRoutePermanent("myroute", rvd)

이것은 우리를 다음 URL로 리디렉션합니다.

http://mywebsite.com/myroute/12?url=%252fdefault.aspx

여전히 사용할 수 있습 Request.QueryString["some_value"];

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top