在ASP.NET中,可以使用路由来实现多控制器的功能。以下是一个包含代码示例的解决方法:
protected void Application_Start()
{
// 注册路由规则
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
// 定义路由规则
routes.MapRoute(
name: "Controller1",
url: "controller1/{action}/{id}",
defaults: new { controller = "Controller1", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Controller2",
url: "controller2/{action}/{id}",
defaults: new { controller = "Controller2", action = "Index", id = UrlParameter.Optional }
);
// 其他路由规则...
}
}
public class Controller1 : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Action1()
{
return View();
}
// 其他动作方法...
}
public class Controller2 : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Action1()
{
return View();
}
// 其他动作方法...
}
@Html.ActionLink("Controller1 Index", "Index", "Controller1")
@Html.ActionLink("Controller1 Action1", "Action1", "Controller1")
@Html.ActionLink("Controller2 Index", "Index", "Controller2")
@Html.ActionLink("Controller2 Action1", "Action1", "Controller2")
通过上述步骤,你可以实现在ASP.NET中使用路由来访问多个控制器和动作方法。