asp.net-mvc – 可以为MVC Razor Layout指定可搜索的位置格式吗
发布时间:2020-12-15 18:59:14 所属栏目:asp.Net 来源:网络整理
导读:在Razor中,当加载部分视图时,可以只指定部分视图名称,Razor视图引擎将搜索RazorViewEngine.PartialViewLocationFormats: @Html.RenderPartial("_PartialView",Model); 将实际搜索视图引擎中的PartialViewLocationFormats中指定的位置,例如 ~/Views/Home/_Pa
在Razor中,当加载部分视图时,可以只指定部分视图名称,Razor视图引擎将搜索RazorViewEngine.PartialViewLocationFormats:
@Html.RenderPartial("_PartialView",Model); 将实际搜索视图引擎中的PartialViewLocationFormats中指定的位置,例如 ~/Views/Home/_PartialView.cshtml ~/Views/Shared/_PartialView.cshtml 但是,当指定布局时,我似乎被迫指定布局的特定路径: @Layout = "~/Views/Shared/MyLayout.cshtml"; 我想做的是通过名称指定布局,并通过搜索公共位置的列表找到实际的布局: @Layout = "MyLayout"; …但我找不到任何设施.由于我找不到任何有关此文档的文档,我尝试使用RazorViewEngine.MasterLocationFormats进行播放,但是在定位布局时不会使用此属性. 有人知道该怎么做吗 解决方法
最近我在一个类似的问题上挣扎着,在一个使用自定义ViewEngine的主题应用程序中首先搜索主题的位置以查看主意,我试图覆盖一些主文件.强制布局定位通过ViewEngine的FindView的一种方法是在返回时指定控制器操作中主视图的名称:
return View("myView","myViewMaster"); 但是,如果“myViewMaster”还具有布局(嵌套布局),则此方法对于嵌套布局不起作用.到目前为止,我最好的解决方案是直接在视图中调用视图引擎: @{ Layout = (ViewEngines.Engines.FindView(this.ViewContext.Controller.ControllerContext,"myViewMaster","").View as RazorView).ViewPath; } 这是有效的,但当然可以封装在一个扩展方法中,以避免重复和抽象代码. 希望有帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-mvc-3 – 如何在自定义编辑器模板中获取
- asp.net – 在.NET中使用TinyMCE有一种简单的Spe
- asp.net-mvc – ServiceStack和MVC4没有连线
- asp.net-mvc – 如何在Asp.Net MVC中导出到excel
- asp.net – Oracle中的参数化查询问题
- ASP.NET会话意外结束
- Exchange 2016通过New-mailboxSearch批量删邮件
- asp.net-mvc – ASP.NET MVC和Visual Studio 201
- asp.net-core – ABP框架中的集成Windows身份验证
- asp.net-mvc – asp.mvc视图在发布配置中引用#IF
热点阅读