2010-10-04 13 views
0

je la méthode d'enregistrement de route zone suivante:T4MVC et la région Routes

/// <summary> 
    /// Registers the area. 
    /// </summary> 
    /// <param name="context">The context.</param> 
    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     // terminal customer url 
     context.MapRoute("TerminalCustomer", "Terminal/Customer/{action}/{id}", new { controller = MVCt4.TerminalArea.Customer.Name, action = MVCt4.TerminalArea.Customer.ActionNames.Index, id = string.Empty }); 

     // terminal inbound pattern url 
     context.MapRoute("TerminalInboundPattern","Terminal/InboundPattern/{action}/{id}",new { controller = MVCt4.TerminalArea.InboundPattern.Name, action = MVCt4.TerminalArea.InboundPattern.ActionNames.Index, id = string.Empty }); 

     // terminal outbound pattern url 
     context.MapRoute("TerminalOutboundPattern","Terminal/OutboundPattern/{action}/{id}",new { controller = MVCt4.TerminalArea.OutboundPattern.Name, action = MVCt4.TerminalArea.OutboundPattern.ActionNames.Index, id = string.Empty }); 

     // terminal inbound shipment url 
     context.MapRoute("TerminalInboundShipment", "Terminal/InboundShipment/{action}/{id}", new { controller = MVCt4.TerminalArea.InboundShipment, action = MVCt4.TerminalArea.InboundShipment.ActionNames.Index, id = string.Empty }); 

     // terminal outbound shipment url 
     context.MapRoute("TerminalOutboundShipment", "Terminal/OutboundShipment/{action}/{id}", new { controller = MVCt4.TerminalArea.OutboundShipment, action = MVCt4.TerminalArea.OutboundShipment.ActionNames.Index, id = string.Empty }); 
    } 

Il fonctionne très bien comme il est, mais quand je change la typesafe et aucun moyen magique comme ceci:

  context.MapRoute("TerminalOutboundShipment", "Terminal/OutboundShipment/{action}/{id}", MVCt4.TerminalArea.OutboundPattern.Index(), new {id = String.Empty}); 

Je reçois une erreur d'exécution? J'ai ce code dans le fichier global.asax et il fonctionne très bien:

static public void RegisterRoutes(RouteCollection routes) 
    { 
     // do not allow any body access our our resources 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     routes.IgnoreRoute("favicon.ico"); 

     // home url ok 
     routes.MapRoute("Default", "Home/{action}/{id}", MVCt4.Home.Index(), new {id = String.Empty}); 

}

Dans les régions, il ne fonctionne pas mettre le principal asa mondial, il fonctionne très bien?

Répondre

0

J'ai trouvé un exemple sur la façon d'utiliser le t4mvc sur le site plex de code.

codeplex