2011-04-25 38 views
0

我使用ASP.NET MVC3和好奇如何製作像/帳號/阿賈克斯/動作映射路由控制器AccountAjaxController方法操作在ASP.NET MVC3讓三部分航線的URL控制器

有什麼這樣做的方式?

中的Global.asax.cs文件中使用下面的代碼已經解決了的問題:我已經做了,這是與RouteCollection.MapRoute()

 routes.MapRoute(
      "Default", 
      "{controller}/{action}/{id}", 
      new {controller = "Home", action = "Index", id = UrlParameter.Optional}, 
      new[] {"MyProjectName.FrontEnd.Web.Logic.Controllers"} 
      ); 

     routes.MapRoute(
      "Ajax", 
      "Ajax/{controller}/{action}/{id}", 
      new[] {"MyProjectName.FrontEnd.Web.Logic.Controllers.Ajax"} 
      ); 

回答

1

的一種方式。見http://msdn.microsoft.com/en-us/library/dd470521.aspx。你可以用路線做各種東西。

在下面的代碼我通常會從我的global.asax.cs的Application_Start()調用此:

RouteCollection routes = RouteTable.Routes; 

    routes.MapRoute(
     "ArbitraryRouteName", // Route name 
     "Account/Ajax/Action/", // URL with parameters 
     new 
     { 
      controller = "AccountAjax", 
      action = "Action" 
     }, // Parameter defaults 
     new 
     { 
     } 
    ); 

有很多種方法,以生成鏈接,使用此。您可以在視圖中使用Html.RouteLink()作爲示例。我相信你也可以調用Html.ActionLink(「鏈接文本」,「AccountAjax」,「Action」)。我認爲提供只有一個Route映射到您的控制器和操作名稱,ASP.NET MVC會自動計算出您的路由映射生成的正確URL。

有關RouteLink擴展方法的示例,請參見http://msdn.microsoft.com/en-us/library/dd492585.aspx

相關問題