2012-06-22 177 views
0

一些背景: 我創建了一個新的ASP.NET MVC 3 WebApplication。 然後我添加Web表單頁面:~/ASPWebforms/Test.aspx 然後我編輯路由在Global.asax文件是這樣的:mvc路由和webforms頁面

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.MapPageRoute("Test", "Test/", "~/ASPWebforms/Test.aspx"); 
    routes.MapRoute(
     "Default", // Route name 
     "{controller}/{action}/{id}", // URL with parameters 
     new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
    ); 
} 

現在我在瀏覽器中鍵入http://localhost:54847/Test,一切都按預期工作。

的問題是,所有其他鏈接看起來像:http://localhost:54847/Test?action=Index&controller=Home

我也試圖改變路線的順序:

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
    routes.MapRoute(
     "Default", // Route name 
     "{controller}/{action}/{id}", // URL with parameters 
     new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
    ); 
    routes.MapPageRoute("Test", "Test/", "~/ASPWebforms/Test.aspx"); 
} 

但隨後http://localhost:54847/Test將不再工作。

我期待的聯繫http://localhost:54874/Test~/ASPWebforms/Test.aspx 而其他環節照常上班MVC樣式{controller}/{action}/{id}

THX對您有所幫助!

+0

你期待的路線是什麼? http:// localhost:54847/Home/Index? –

+0

我現在的意圖在上面。 – beatoss

回答