ここから、ASP.NET MVC で別のコントローラー フォルダーの場所を設定する方法について少し触れました。ASP.NET MVC で別のコントローラー フォルダーの場所を設定するURL は次のとおりです。
名前空間を変更し、ルーチン コードで名前空間を指定することもできます。これらの方法で解決できますが、上記のリンクは、コントローラー関連の .cs ファイルを他のフォルダーの場所に変更または保存する方法を示していません。
コントローラーをルートのmycontrollerというフォルダーに保存したいとします。ガイドしてください。ありがとう
アップデート
これを行うには、ルーティングを使用し、コントローラーを別の名前空間に保持します。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");
}
}
}
And the following routing
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
);
次の応答を期待する必要があります。
/Services/Home
ServiceController
/Home
Controllers