爱上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,iVBORw0KGgoAAAANSUhEUgAAAKYAAADMCAIAAAB2hU8cAAAKFUlEQVR4nO2dP4/bNhiH73Nk0BDgCsQe/QUK797v5nyA2zoXReEhQzoHMNAA18DjoWNSwEM1CSiy1EvaqdcpU5M0IZCihTsoVXXkS4qkKP7R+3sgHGhZpGg9JmWTr3lnAjDjLGxx2+12fZew5YPxhFS+3W6/+urrN3+87TYoz5BRyqUG3fluH0J5nvyv/Hg8umZuvRo2UnlVVVVVkWmvlwDc+KS8ruvFYuGa2U+56NmF5vicCSHquj4/P/e4+lBeImedb6ervx7CRnn/jGQF1G5fylj1sK88c846305X7erqyqz8xfMXTsoND1XZ6CTGcObXUPb7vVn548ffmD+xq2dUH0oVI+uJJu6Kp/Lj8WhWfnFxMajcvEd3AFlPWLfH/3v55eWl2fovr361V25owWQPLx0A5fb4K1fHViWur68NykEq/JUfDgez8paAdQVBCDytAvIHytkB5eyAcnZAOTuyUI5Ympg4K6/rOmwNEEsTGWflDx488LZOfnFHLE1knJVXVbVcLv2sr4fm1z1iaYArPspvbm78rI9RLjBnGggf5UIIP+s2A7SGj29QHgRP5UKIR48eLZfL169f2+cdr1ydNyMn1DGnbsBTeV3Xy+Xy5ubGKW/wVk7Oq0pzrOgbJHyU+/kW6ZRjTr2P5yd2D98idSsHLc7K79+/7+dbjFOu+5KmC5shg2f8qj0znJV7+xajWzkIQtQxdijPgSymVUBMoJwdUM4OKGcHlLMjC+WIiolJeuWIiolMAuVSg0ZUTGTGKo+8wow6aGo5jKpOuQ4eQx5gc67MGaU81QozfgwqH3+KIvBXnnCFGT90gRUBT1EEnsoTrjAj7SFnzMioGHLCjTyGLMfyXPnjo7zv2+kFB1lhxrxzcE5dUMoN06+G24FachH4/HSh79vp1Y5cYSagcrLdCyhXOR6Pi8WiuotTdrNy8wozhnZp2O+RgPKQeK8wUyn0d0rHdGlDXvMxQh9DZz5X/sRWjhVmkhNbOVaYSU76MXYQGShnB5SzA8rZAeXsKFg5Ymn8iKQcK8zkQyTlWGEmHyIprxKtMCNKnuWciHjKk6wwY5gUYUs85SLFCjPQrBJVuYi+woxOuW4OTbfHJlcpRFUef4UZ0kd1d57b5q9logjiKU+ywgyUq0T9xB5/hRny4xuUxyDVCjNCiWbp7+zSg3/JXN3Dsu7okZRjhZl8KGCMHcrDUoByEBYoZweUswPK2QHl7ChYOaJi/EBUDDsQFcOOmUfFFDomOinzj4qBcon5R8VAucT8o2JI5eb4lnm/UVhExXjMfBc6F24Di6gYVbnarAcTs4FFVIyulUuHmROzYeZRMeb4lv4NW715q53BPEBUDDsKGGOH8rAUoByEBcrZAeXsgHJ2QDk7ClaOqBg/EBXDDkTFsGPmUTFCGTcNPoBa3Ijs/KNi1HRwQ1BOUOW0VgyUxyBVVIygOl5yfswmKsayqMyZeVSMVAEpbU6odgcTRTDzqBipDrqEUNorGUahOwbKCaqM14oxJ8iiBg/OmflHxahNk7xVVxS60gzl5w+iYthRwBg7lIelAOUgLFDOjrPVkxM2VhuUs9tKVa7rtZJXLP+tSOWtXTIqJnnd8t8iKX/4vWdGXWvWRcUkv6D5b5GUf/jL07pwjIpJfkHz3yIpP51O7z76WBeOIRLqeaW/ZN2kp/okNxR8i6f8ix98rEdQTj7V7XG1nv+7JJ7y1RMf67qOXTfgSp4XyvtbVOWrJ6cnP53efTx9/q1txpHKV71eWt1pOIZU3j+G7PyLuB1EVf7w+9O7j6cvfnDIGES5am6ixAqtvH8hPHyvJlMuNUfLxGCuFZT3L4SH79XErVzdY9mUDU9B+aft7398fK+mUb5Sbrq6h065pMOSq02s3M/3KoTy6bacvRq23MfYs1Wua+L5bwUodyJ5hfPfcleOLfgG5ew2xL6xA8rZUbByrBXjR6nKsVaMN8Uolxo01orxJo3y4/HommU9FChBKu9+bij0vw/VLRSge7Z0Eiiv63qxWLjmmk45+VShPyS2Ibbyuq7Pz889riOUhyKq8s6303UcHFq3XARM3Wk4hlxkQPf7cimd+b0gnvK+b6crcnV1ZVb+4vkLs3Jxt7GSOu0T5nJylt0Sb0HPvm+n67Lf783KHz/+xlW5VA1L07q+oay7QAzlx+NxsVhUd3HKblZ+cXHh18rVPX6N21ByhpTxvfzy8tJs/ZdXv9orF9T6T+obcbBNSxk93s1JKEO5OrYqcX19rVMOJMpQfjgczMpbUlezDMpQDgIC5eyAcnZAOTugnB1Qzg4oZweUs2O2yqXxGXXExjCA4zQdEGGQ1e8UuvrPQfmzl7effXd77+ntZ9/dPnt52+7su1yv103TtOmmaaSndMXaX+UI4+rkKWzOO0/l957efvnj789//u3LH3+/91RW3vnumnXfOpTPB0nq+m7wjKtyXT+vm1uT0oM9s25mzzDXN5hFfRUtc1B+7+ltf2t3hlXef+iRGPStSxiOIdPq6eas/M0fbw3K286869W7W3tw5WRzNNdf12mThUC5EEPKpc9rEhO1cimXZSs3PAXld9B17N13sK6Je39JU9PqkdKe/pHSAYYzksXqzi6dQv1L9jpzUA6cgHJ2QDk7oJwdUM4OKGcHlLMDytkB5eyAcnZEVT4mUkVFHaHs0q4VIwcmU+FXDfv6T6V8okgViTGa1UIMab/SglTJqeSUyieKVJEIrtxmv19p4wvJXTnJ+LAFif7EUbdHfdlqty9lVHOR/SR5KyFnwAarTeYylDOYpf/qzEzYyqeIVJFQlRseqrItM5LlCP3by6bOZMJwDJkm3/Hms4uplQePVFEZfKfbtCEyL2lCKsdcgq7Cg69ihsq9I1VUBtuZ7gDLy6o+nEK5zSnKUB4wUkWHrk0bdqrKde1ebXwqZJUG3xZkr9NVTEqrJZN/zbXqwFAMO4pRbtO8gA3FKAehgHJ2QDk7oJwdUM6ONMrXCtvtNklNGJKLcliPRkrl0r/JgPU45KXcYF03qiwdM/UQDTl2WxZRo2I6mqY5HA5v37xT/yWOboDdRrn5qfGUKFglalSMEKJpmv1+L4TY7/dN00jWoTwCsTv2zWaz2+2EELvdbrPZvH//3lK5sIhU0R1jU5Rhaku3kzxR/rMAUSdPhRDr9bpTvl6vP/z5wUm5uNvU1HuqzV3WJhdZDinYXHKGRA2REEJsNpvuk5pHKxeKA93nKafOP5RyoWn6WRFbedM0rfXNZuN0Lxd2QSBplWcuuyV2xy7+69J3u12bUNGVSX52I++vZk+6w8hCpMTguTK/kYsk38u9lefP4FstBxIob/+7YftVbX6glYPsgHJ2QDk7oJwdUM4Of+Xk9yvMeedPeOWwnjljlUsT3ohvyZ+plNtY9xi1mG6II+fBk7AMK9fFt3TK172VASwnSASnS5wb/wI0Yf5gLPP0/AAAAABJRU5ErkJggg==" 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 ...
随机推荐
- AngularJS之ng-options的best practise
废话不多说,直接上代码. function MySelectCtrl($scope) { $scope.Model = [ { id: 10002, MainCategory: '男', Produc ...
- Linux 忘记root登录密码解决方法
很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如下: 重启linux系统 3 ...
- C语言通过timeval结构设置周期
在C语言中,我们经常需要设置一个时间周期.在这里,我们通过Timeval结构实现时间周期的设置.首先,我们介绍timeval,其定义如下(转载http://www.cnblogs.com/wainiw ...
- maven 环境的配置 JAVA_HOME not found in your envirnment
maven 的环境配置在配置maven前 先做好java的环境配置现在假定java已经配置好了.在环境变量中添加;maven的解压路径\bin 例如:D:\soft\java\apache-maven ...
- vs2010的“应用程序向导”新建MFC程序报错“当前页面的脚本发送错误”
原创文章,欢迎阅读,禁止转载. 问题现象不知道从什么时候开始,我的vs2010不能新建MFC程序了,报错如图:... 解决方法根据提示排查,发现是应用程序向导的相关html被损坏了.从同事电脑上把 ...
- Java实现Excel导入数据库,数据库中的数据导入到Excel
private static void executeMethod(JobExecutionContext arg0) throws Exception{ try { TContrastService ...
- 通过.net反射技术实现DataReader转换成Model实体类列表
public static T ReaderToModel<T>(IDataReader dr) { try { using (dr) { if (dr.Read()) { Typ ...
- 深度解析Java8 – AbstractQueuedSynchronizer的实现分析(上)
本文首发在infoQ :www.infoq.com/cn/articles/jdk1.8-abstractqueuedsynchronizer 前言: Java中的FutureTask作为可异步执行任 ...
- 关于合并“.a”文件时遇到的问题
今天在给工程添加百度地图SDK时,涉及到百度地图的模拟器与真机环境下的.a文件的合并,在使用终端进行 合并时,出现: xcrun: error: active developer path (&quo ...
- oracle中的函数及其应用
--..............常用的单行函数...................... ------------------- 常用的字符函数 ---------------------- ...