新的 ASP.NET MVC 3 应用程序中的默认路由将处理您的前两个请求,但您可能对命名约定感到困惑。例如,如果您有一个名为的控制器类HomeController
和一个action1
在其中命名的操作,则该路由的默认处理方式为/Home/action1
.
要处理/controller1/action1
and /controller1/action2
,您需要按字面意思命名您的控制器类controller1Controller
并添加两个操作,例如
public class controller1Controller : Controller
{
public ActionResult action1()
{
return View();
}
public ActionResult action2()
{
return View();
}
}
要处理您的路线,您可以使用 Satpal的/shortcut
建议,只要它在默认路线上方定义即可。路线越具体,它需要在您的路线定义中出现的越早,例如
routes.MapRoute(
name: "nameOfShortcutRoute",
url: "shortcut",
defaults: new { controller = "controller1", action = "action1" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
查看此链接以获得良好的路由教程http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/asp-net-mvc-routing-overview-cs