2011-01-04 9 views
4

Nehmen wir an, ich möchte alle Anfragen an/js/* an eine Controller Index Methode weiterleiten. Mit anderen Worten, sollten diese Routen aller JavaScriptController.Index() aufrufen:ASP.NET MVC Routen: Definieren der Route einschließlich der Unterpfade

/js/root/index.css 
/js/user/account/index.css 
/js/master.css 

Was wäre die Route Definition in meiner Global.asax.cs-Datei?

Dies scheint nicht zu funktionieren:

routes.MapRoute("JavaScript", "js/{*path}", 
    new { controller = "JavaScriptController", action = "Index" }); 

Der Haltepunkt wird nie mit im Debug-Modus aufgerufen:

public class JavaScriptController : Controller 
{ 
    [HttpGet] 
    public void Index(string path) 
    { 
     var browser = HttpContext.Request.Browser; 
     System.Diagnostics.Debugger.Break(); 
    } 
} 

bin ich etwas fehlt?

Antwort

3

Sie sollten den Controller Kurzname in der Route haben Standardwerte heißt:

routes.MapRoute(
    "JavaScript", 
    "js/{*path}",  
     new { controller = "javascript", action = "Index" } 
    ); 

Diese funktionieren würde.