您可以使用Routing執行此操作,並將控制器保存在不同的名稱空間中。 MapRoute允許您指定哪個名稱空間與路線相對應。
例
鑑於這種控制器
namespace CustomControllerFactory.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return new ContentResult("Controllers");
}
}
}
namespace CustomControllerFactory.ServiceControllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return new ContentResult("ServiceControllers");
}
}
}
而下面的路由
routes.MapRoute(
"Services",
"Services/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "CustomControllerFactory.ServiceControllers" } // Namespace
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "CustomControllerFactory.Controllers"} // Namespace
);
您應該會在下面的響應
/服務/主頁
ServiceController的
/主頁
控制器
來源
2010-12-07 02:14:10
CGK
你可以做到這一點,並返回一個`ContentResult`或任何非視圖結果,只要記住,如果你決定返回任何類型的視圖,你將需要cre吃了一個自定義視圖引擎。 – Ahmad 2010-12-07 05:24:03