我刚才有一个关于控制器管理的问题。
我只是尝试在我的view/{copntroller}/newFolder/currentView
中找到文件夹。
我试图使用maprouting,但是效果不好(根本不起作用:D)。
我只是尝试将此代码放在“RouteConfig.cs
”
routes.MapRoute(
name: "Admin",
url: "{controller}/{Folder}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
答案 0 :(得分:0)
路由不会更改视图位置搜索。它更改了Url
路由(读取方式:了解用户发送请求时调用哪种Controller方法,,而不是View用于呈现的内容)。
如果您想更改默认的查看搜索位置,则应重新定义ViewEngine
,如下所示:
public class CustomViewEngine : RazorViewEngine //Here you inherit from current ViewEngine
{
public CustomViewEngine()
{
ViewLocationFormats = new[]
{
//That's your Views loactions
"~/Views/{1}/Create/{0}.cshtml",
"~/Views/{1}/Edit/{0}.cshtml",
};
}
}
此处{0}
- 是您的控制器方法名称(操作),{1}
- 控制器名称。
您可以定义许多不同的位置,ViewEngine将按照定义的顺序进行搜索。
您应该做的最后一件事是在CustomViewEngine
方法global.asax.cs
中注册Application_Start()
,如下所示:
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new CustomViewEngine());