0

ここから、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
4

2 に答える 2

0

確認するRouteConfig.csと、各ルートに名前空間が定義されていることがわかるでしょう。コントローラー クラスは、ルートで定義された名前空間と一致する限り、プロジェクト内のどこにでも配置できます。

于 2016-06-20T11:25:08.343 に答える
0

何もする必要はありません。コントローラーをに格納することControllersは単なる規則であり、要件ではありません。基本的に、コントローラーは任意のフォルダーに格納できます。

于 2013-11-14T08:21:38.537 に答える