最初のAsp.NetMVC2サイトを構築していますが、現在、サイトに/Admin領域を追加しようとしています。
この領域をメインのユーザーセットに表示したくないので、http:// Intranet/Adminと入力した場合にのみアクセスできます。
私が持っているのは通常のユーザー用のNewsControllerですが、Admin NewsControllerも必要であり、ビューを追加したときに正しい場所に配置されるようにクラス階層とフォルダーを設定する方法がわかりません。
Global.Asax.cs内に追加しましたが、ルートは正しく解決されます。
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "Intranet.Controllers" }
);
routes.MapRoute(
"Admin", // Route name
"Admin/{controller}/{action}/{id}", // URL with parameters
new { controller = "Admin", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "Intranet.Controllers.Admin" }
);
そして、私が設定したフォルダ階層で
Views/
Admin/
News/
...I want the new view to go here...
コントローラーで
Controllers/
Admin/
AdminController.cs
NewsController.cs (this is the one i want for administration)
NewsController.cs (this is the regular one for viewing the list, specific item etc)
私が直面している問題は、インデックスのadmin / NewsController.csにアクセスしてビューを追加すると、/ Admin / News/Index.aspxではなく/News/Index.aspxに作成しようとすることです。
これは私の管理者ニュースコントローラーのコードですコントローラー/管理者->追加->コントローラー
namespace Intranet.Controllers.Admin
{
public class NewsController : Controller
{
public ActionResult Index()
{
return View();
}
}
}
間違っていることはありますか、またはビューを追加するときに/ Admin/{area}ディレクトリに作成されるように何を変更する必要がありますか。