2011-10-03 15 views
8

Recentemente, ho parzialmente convertito un'applicazione di moduli Web Asp.Net per utilizzare MVC. Abbiamo ancora parti dell'applicazione nei moduli Web (pagine .aspx) e utilizzo il routing MVC per lavorare con i controller e così via. ho aggiunto un percorso MVC comeSovrascrivi l'elenco di directory con routing URL MVC

routes.MapRoute("Users", "Users/{controller}/{action}/", new { controller = "Timesheet", action = "List" }); 

C'è una cartella chiamata "Utenti", che contengono poche pagine aspx usiamo ancora. Quando prendo l'URL http://localhost/Users/ ottengo una lista di directory dei contenuti della cartella "Utenti". Apparentemente, l'elenco delle directory ha la precedenza sul routing MVC url e questo potrebbe essere sovrascritto modificando le impostazioni del server IIS7.

Come è possibile sovrascrivere questo comportamento, tramite modifiche di codice o web.config?

Riferimenti:

http://forums.asp.net/t/1251156.aspx/1

http://learn.iis.net/page.aspx/121/iis-7-and-above-modules-overview/

+0

http://www.packtpub.com/article/mixing-asp.net-webforms-and-asp.net-mvc è il metodo che ho utilizzato per aggiungere MVC a un'applicazione di moduli Web esistente – prabug

risposta

0

Utilizzare questa IgnoreRoute:

routes.IgnoreRoute("{WebPage}.aspx/{*pathInfo}"); 

Listing il metodo RegisterRoutes

public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");       
      routes.IgnoreRoute("{WebPage}.aspx/{*pathInfo}");    

      //routes.MapPageRoute("users", "users", "~/admin/default.aspx"); 

      routes.MapRoute(
       "Default", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { controller = "home", action = "index", id = UrlParameter.Optional } // Parameter defaults 
      ); 

     } 

Ciò escluderebbe tutte le pagine la cui estensione è ".aspx" dal routing.

2

Impostazione RouteExistingFiles = true su RouteCollection raggiunge proprio questo. Permetterà a ASP.NET MVC di gestire percorsi anche per le directory esistenti.

+0

Hanselman ne ha discusso qui : http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx – Kunal