2010-10-04 38 views
0

我有以下的區域航線登記方法:T4MVC和地區航線

/// <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 }); 
    } 

它工作正常的是,但是當我改變了類型安全和這樣什麼神奇的方法:

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

我得到一個運行時錯誤?我在Global.asax文件的代碼,它工作正常:

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}); 

}

在它不工作的區域把全球主要ASA能正常工作?

回答

0

我找到了關於如何在代碼plex站點上使用t4mvc的示例。

codeplex