asp.net-mvc – 可以为MVC Razor Layout指定可搜索的位置格式吗?
发布时间:2020-05-23 08:58:20 所属栏目:asp.Net 来源:互联网
导读:在Razor中,当加载部分视图时,可以只指定部分视图名称,Razor视图引擎将搜索RazorViewEngine.PartialViewLocationFormats: @Html.RenderPartial(_PartialView, Model); 将实际搜索视图引擎中的PartialViewLocationFormats中指定的位置,例如 ~/Views/Home/_Part
|
在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 – 单个控制器的MVC多个视图
- 如何在ASP.NET MVC中保留/保护Edit中的某些字段
- asp.net-mvc – ScriptBundle中的{version}是什么(“/ scri
- asp.net – 自定义Web字体在IE9中不起作用
- asp.net – 如何处理在IIS上运行的网站的计划任务?
- asp.net – 表单身份验证是否与Web负载平衡器一起使用?
- ASP.NET MVC是否使Web表单成为旧版平台?
- asp.net – 以编程方式将Textbox TemplateField列添加到Gri
- asp.net-mvc – MVC 5脚手架不为基本EF派生数据发出引导类
- asp.net-mvc – 如何传递特殊字符使ASP.NET MVC可以正确处理
推荐文章
站长推荐
- asp.net-mvc – ASP.Net MVC Razor Views – 在构
- asp.net – 在双列表框中移动项目
- asp.net-mvc – ASP.NET MVC中的替代用户管理
- asp.net – 为什么在添加新的响应标头时会出现“
- asp.net-web-api – 使用WebAPI PUT / POST请求启
- .net – Control.ResolveUrl与Control.ResolveCl
- asp.net-web-api – 如何设置katana-project以允
- asp.net-web-api – 在asp.net web api中有两个参
- asp.net-mvc – 什么是实例化和配置DbContext在M
- Asp.net复选框和html数据属性
热点阅读
