爱上MVC~在Views的多级文件夹~续~分部页的支持
之前写的一篇文章,主要针对View视图,它可以放在N级目录下,不必须非要在views/controller/action这种关系了,而在程序运行过程中,发现分页视图对本功能并不支持,原因很简单,在RazorViewEngine有不同的属于来修饰这两个东西,对于View的查找,通过ViewLocationFormats来定义,而分部视图的查找通过PartialViewLocationFormats来定义,它们定义了视图的查询范围,如~/Views/LindAdmin/{1}/{0}.cshtml就可以表示在Views下面的LindAdmin下的目录。
对于分部页的多级目录结构
/// <summary>
/// 后台路由
/// </summary>
public class admin_routing : RazorViewEngine
{
public admin_routing()
{
//视图位置
ViewLocationFormats = new[]
{
"~/Views/{1}/{0}.cshtml",
"~/Views/LindAdmin/{1}/{0}.cshtml"//自定义汽车销售的试图
}; //分部视图位置
PartialViewLocationFormats = new[]
{
"~/Views/{1}/{0}.cshtml",
"~/Views/LindAdmin/{1}/{0}.cshtml"//自定义汽车销售的试图
};
} public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache)
{
return base.FindView(controllerContext, viewName, masterName, useCache);
} public override ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName, bool useCache)
{
return base.FindPartialView(controllerContext, partialViewName, useCache);
}
}
我们通过上面的代码看到了FindView和FindPartialView两个方法,它们就是在渲染视图时的查找方法,即你的action要去渲染哪个视图,我们可以把自己的逻辑重写在这两个
方法里!
看一下大家的通用后台项目,将后台的一些View都放到了LindAdmin里,而这也是为了打包考虑的,以后哪个具体的项目希望用后台,直接NUGET安装即可,边页面都不用做了,哈哈!
aaarticlea/png;base64,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" alt="" />
爱上MVC~在Views的多级文件夹~续~分部页的支持的更多相关文章
- 爱上MVC~在Views的多级文件夹
回到目录 在MVC里,你的控制器对应的视图一般是在Views目录,而如果希望在Views里再分几个模块文件夹默认是不允许的,我们需要做一下设置,就可以实现Views下的多次文件夹层次了,例如,我们有产 ...
- Java基础知识强化之IO流笔记50:IO流练习之 复制多级文件夹的案例
1. 复制多级文件夹的案例 需求:复制多级文件夹 数据源:E:\JavaSE\day21\code\demos 目的地:E:\ 分析: A:封装数据源File ...
- 用Java实现将多级文件夹下的所有文件统一放到一个文件夹中
每次下了电影(男生懂得呦),每部电影都放在一个单独的文件夹里,看的时候很是不方便啊,一直重复着进入文件夹.后退,再进.再退的操作,而手动把这些电影全部复制出来又太繁琐.因此为了解决这个问题,用IO写了 ...
- bat如何创建多级文件夹(在android设备中)
在android设备中要创建多个或者多级文件夹时,手动去创建费时费力(有点傻),一个bat文件就能很好的实现这个功能. 1.首先创建同级多个文件夹且在该文件夹下生成一个文件 @echo off ech ...
- java中递归实现复制多级文件夹
常见的流的用法 递归实现复制多级文件夹 FileInputStream & FileOutputStream String content = null;//用来储存解码后的byte数组 in ...
- Eclipse 批量创建多级文件夹
Eclipse 批量创建多级文件夹 CreateTime--2018年3月8日08:23:24 Author:Marydon 1.选中要建立文件夹的父级目录-->右键-->New--& ...
- ZIP解压缩文件的工具类【支持多级文件夹|全】
ZIP解压缩文件的工具类[支持多级文件夹|全] 作者:Vashon 网上有非常多的加压缩演示样例代码.可是都仅仅是支持一级文件夹的操作.假设存在多级文件夹的话就不行了. 本解压缩工具类经过多次检查及重 ...
- IO流案例:1.复制多级文件夹 2.删除多级文件夹
package copy; /* 需求:复制多级文件夹 复制d:\\itcast(包含文件和子文件夹)到模块目录下 分析: d:\\itcast a.txt b.txt javaweb a.xml b ...
- cmd 命令操纵文件管理器、创建(删除)多级文件夹
命令行打开文件夹窗口的六种方法 1. 使用 start 命令 # 打开指定文件夹 > start 路径 # 打开当前文件夹 > start . # 打开含空格文件夹 > start ...
随机推荐
- onselectstart和onselect的使用
1.onselectstart 这个事件主要是用于禁止选择网页中的文字.代码为: document.onselectstart =function(){ return false; } 另外ff/op ...
- C#引用类型(class)和值类型(struct)
1. 值参数 当利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并且将此拷贝传递给该方法.被调用的方法不传内存中实参的值,所以使用值参数时,可以保证实际值是安全的. using System; ...
- yii 图片展示
<?= DetailView::widget([ 'model' => $model, 'attributes' => [ 'id', 'name', 'time', 'pic', ...
- hdu 5976 Detachment
Detachment Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- 详解在Visual Studio中使用git版本系统[转]
这篇教程的预期,是希望没有任何版本使用基础的新手也可以掌握,所以细节较多,不当之处,欢迎指正. 一 .安装 git 开发工具 如果要使用 git 进行版本管理,其实使用 git 命令行工具就完全足够了 ...
- Spring 配置 Spring JPA 发生错误的解决方法
今天在项目的applicationContext.xml中配JPA时 <?xml version="1.0" encoding="UTF-8"?> ...
- 斯坦福公开课:Statistical Learning中做错的选择题
4.4 R1 In which of the following problems is Case/Control Sampling LEAST likely to make a positive i ...
- #知识#室内设计原理ing
室内设计原理 第一章 室内设计的含义和基本观点 人的一生,绝大部分时间是在室内度过的,因此,人们设计创造的室内环境,必然会直接关系到室内生活.生产活动的质量,关系到人们的安全.健康.效率.舒适等等.室 ...
- Android AbsListView 的item动画类库 —— JazzyListView
https://github.com/twotoasters/JazzyListView/tree/master/sample github:https://github.com/twotoaster ...
- SpringMVC入门配置和简单实现
web.xml的配置 <!-- springmvc中央控制器 --> <servlet> <servlet-name>springmvc</servlet-n ...