我正在尝试学习asp.net mvc,几乎无处不在,我看到路由描述有三个组件,如/ Controller / Action / {anyParams} 我想知道我是否可以绘制类似的路线,
/Folder(or namespace)/Controller/Action/params...
例如:
/Admin/Student/Edit/id /ABC/Faculty/Add/` /XYZ/Student/Edit/id
或一般而言,
/XYZ/Controller1/Action/{param}
答案 0 :(得分:1)
是的,MapRoutes函数中的第二个参数(通常在Global.asax.cs中是Url,这可以是你想要的任何模式。比如
routes.MapRoute("MyRoute", "XYZ/Controller1/Action/{param}",
new {controller = "Controller1", action = "Action"}});
应该这样做。
答案 1 :(得分: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) {
}
}
因此,您可以根据需要指定任意数量的参数,并将它们作为函数参数传递给您的操作。