我设法让我的家庭控制器只使用操作名称来访问它,但只要我添加另一个控制器并尝试通过在我的Home路由声明中添加另一个路由声明来执行相同的操作,所有路由默认为Home控制器。MVC路由 - 我想在URL中没有控制器的多个{action}/{id}路由
routes.MapRoute("HomeTest", "{action}/{id}", new { controller = "Home", action = "TestHome", id = UrlParameter.Optional });
routes.MapRoute("TestTest", "{action}/{id}", new { controller = "Test", action = "Test", id = UrlParameter.Optional });
public class HomeController : Controller
{
public ActionResult TestHome(int? id)
{
return View();
}
}
public class TestController : Controller
{
public ActionResult Test(int? id)
{
return View();
}
}
有没有什么办法可以访问两个控制器,而不在url中包含控制器名称?
我也有默认路线,如果这有什么区别。它在这两条路线下。