localhost / Controller / Actionのように機能するようになりましたが、 localhost / MainFolder / SubFolder / Controller/Action のようにしたいと思います。
MainFolderとSubFolderの名前を取得する必要があるためです。お気に入り
RouteData routeData = htmlHelper.ViewContext.RouteData;
string currentAction = routeData.GetRequiredString("action");
string currentMainFolder = routeData.GetRequiredString("mainFolder");
string currentSubFolder = routeData.GetRequiredString("subFolder");
MyViewEngineコード;
public class MyViewEngine: RazorViewEngine
{
private static string[] NewViewFormats = new[] { "~/Views/MainFolder/SubFolder/{1}/{0}.cshtml" };
public MyViewEngine()
{
base.ViewLocationFormats = base.ViewLocationFormats.Union(NewViewFormats).ToArray();
}
}
私のRouteConfig.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Panel", action = "Index", id = UrlParameter.Optional }
);
ViewEngines.Engines.Add(new MyViewEngine());
}
マイビューフォルダ;
マイコントローラーフォルダ;