我正在尝试更改默认视图位置,以便以下工作:
[Route("")]
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
我想要视图的位置是 /MVC/Views/ControllerName/Index(MethodName)
我尝试将以下内容添加到 Startup => ConfigureServices (IServiceCollection)
services.Configure<RazorViewEngineOptions>(o =>
{
o.AreaViewLocationFormats.Clear();
o.AreaViewLocationFormats.Add("/MVC/Views/{1}/{0}" + RazorViewEngine.ViewExtension);
});
Run Code Online (Sandbox Code Playgroud)
以下工作,但我希望它默认为正确的路径
return View("/MVC/Views/Home/Index.cshtml");
Run Code Online (Sandbox Code Playgroud)
小智 7
如本答案所述:
从 .Net-Core v2.0 开始,您可以在 RazorViewEngineOptions 中使用ViewLocationFormats和AreaViewLocationFormats来修改视图查找。
您正在寻找的选项是ViewLocationFormats因为您没有使用查看区域。
您的解决方案将遵循以下路线:
services.Configure<RazorViewEngineOptions>(o =>
{
o.ViewLocationFormats.Clear();
o.ViewLocationFormats.Add("/MVC/Views/{1}/{0}" + RazorViewEngine.ViewExtension);
o.ViewLocationFormats.Add("/MVC/Views/Shared/{0}" + RazorViewEngine.ViewExtension);
});
Run Code Online (Sandbox Code Playgroud)
仅当您在该位置而不是标准文件夹中有共享布局和 Paritals 时才需要最后一行。
| 归档时间: |
|
| 查看次数: |
2778 次 |
| 最近记录: |