당신은이 같은 남아있는 모든 경로를 일치시킬 수 있습니다 :이 경우
routes.MapPageRoute("defaultRoute", "{*value}", "~/Missing.aspx");
, 우리는 모든 경로를 알고, 그리고 "실종"/ 404 페이지에 무엇을 보낼. 와일드 카드이고 모든 것을 잡을 것이므로 마지막 경로로 지정해야합니다.
는 또는 당신의 경로 같은 방법으로 등록 할 수 있지만, 내부적으로 다음과 같이 페이지에 매핑을 수행합니다
public class DefaultRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
//Url mapping however you want here:
var pageUrl = requestContext.RouteData.Route.Url + ".aspx";
var page = BuildManager.CreateInstanceFromVirtualPath(pageUrl, typeof(Page))
as IHttpHandler;
if (page != null)
{
//Set the <form>'s postback url to the route
var webForm = page as Page;
if (webForm != null)
webForm.Load += delegate { webForm.Form.Action =
requestContext.HttpContext.Request.RawUrl; };
}
return page;
}
}
: 핸들러 클래스는, 이런 식으로 뭔가를 와일드 카드 매핑을 할 것
routes.Add(new Route("{*value}", new DefaultRouteHandler()));
그건
이것은 수평 스크롤을 방지하기 위해 이상한 장소에서 약간 부러졌지만 전반적인 포인트를 얻습니다. 다시 경로인지 확인하십시오. 그렇지 않으면 모두 경로를 처리합니다.
다음과 같은 작업을 수행 할 수 있습니까? Dim prospect As String = Page.RouteData.Values ("* value") 와일드 카드가 아닌데 와일드 카드는 어떨까요? – davemackey
다음 오류가 발생합니다. 내가 뭘 놓치고 있니? (.Net 4.5) System.Web.Routing.RouteBase ''Url '에 대한 정의가없고'System.Web.Routing.RouteBase '형식의 첫 번째 인수를 허용하는 확장 메서드가 없습니다. using 지시문이나 어셈블리 참조가 누락 되었습니까?) – HGMamaci