Es folgt die Gewohnheit RouteBase KlasseController Aktion-Methode wird nicht aufgerufen wurden, wenn benutzerdefinierte routebase Klasse verwendet wird
public class CustomRoutingBehaviour:RouteBase
{
string[] allowedUrl;
public CustomRoutingBehaviour(string[] url)
{
allowedUrl = url;
}
public override RouteData GetRouteData(HttpContextBase httpContext)
{
RouteData route = null;
string browsedurl = httpContext.Request.AppRelativeCurrentExecutionFilePath;
if(allowedUrl.Contains(browsedurl,StringComparer.OrdinalIgnoreCase))
{
route = new RouteData(this,new MvcRouteHandler());
route.Values.Add("controller","CustomiziedController");
route.Values.Add("action","Index");
route.Values.Add("BrowsedURL",browsedurl);
}
return route;
}
public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
{
return null;
}
}
Es folgt die Routing-Konfiguration:
routes.Add(new CustomRoutingBehaviour(new string[] { "~/Customizied/Index", "~/Customizied/Index1" }));