2011-05-18 18 views
0

我想學習asp.net mvc,並且幾乎在任何地方我都會看到帶有三個組件的路由描述,如/ Controller/Action/{anyParams} 我想知道是否可以映射類似於如何映射具有3個以上組件的asp.net MVC路由?

/Folder(or namespace)/Controller/Action/params... 例如:

 
    /Admin/Student/Edit/id 
    /ABC/Faculty/Add/` 
    /XYZ/Student/Edit/id 

或一般, /XYZ/Controller1/Action/{param}

回答

1

沒錯的MapRoutes功能(通常在Global.asax.cs中的第二個參數是地址,這可能是你想要的任何圖案。某事l IKE

routes.MapRoute("MyRoute", "XYZ/Controller1/Action/{param}", new {controller = "Controller1", action = "Action"}});

應該做的伎倆。

1

你可以讓你的路線儘可能複雜。

F.e.以下路線:

routes.MapRoute("some-route", "products/detail/order/{id}/{name}/", 
      new { controller = "Products", action = "Order" }, 
      new { id = "^\d+" }); 

將路由以下功能:

public class ProductsController : Controller { 
    public ActionResult Order (int id, string name) { 

    } 
} 

所以,你可以根據需要指定任意數量的參數,它們將被傳遞到你的行動函數的參數。

+0

如果我在兩個命名空間/(子)文件夾下有兩個名稱相同的控制器,如何通過上述路徑映射? – 2011-05-18 11:25:07