MVC4 REZOR引擎mvc4 实现文件下载批量删除???

使用Rezor视图引擎的时候移除apsx视图引擎
Global.asax文件
using System.Collections.G
using System.L
using System.W
using System.Web.H
using System.Web.M
using System.Web.R
namespace MvcApp
// 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
// 请访问 /?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
protected void Application_Start()
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
//平常我们一般用Razor视图引擎,所以就没有必要要MVC再去查找aspx视图引擎,所以可以将aspx视图引擎移除掉。这样每次加载视图的时候就会快一点(因为每次加载视图的时候都去查找aspx视图引擎是要耗性能的。我们可以创建一个Home控制器,不给它创建Index视图,当我们访问/Home/Index的时候,就会提示找不到视图,我们可以看到MVC去查找了aspx和Razor视图后,没有找到,就会报找不到视图的错误)
//为什么要把移除视图引擎的代码写在这个Global.asax文件中呢?那是因为网站启动,我就先将它移除。
//移除aspx视图引擎
//ViewEngines.Engines.RemoveAt(0);
//这个是一次Razor视图引擎
//ViewEngines.Engines.RemoveAt(1);
在MVC项目中,我们发现有view视图里面也有一个web.config配置文件,那么这个配置文件是干什么的呢?
我们看到的视图,本质上就是一个前端类,它会在我们的视图引擎第一次找到它的时候将它编译成一个前端页面类,编译完后,就需要将这个前端页面类继承一个webViewPage&TModel&的泛型类,或者WebViewPage类 &(注:WebViewPage类是webViewPage&TModel&类的父类)
(看了下面的代码后,我们就会发现视图编译完后生成的前端页面类的父类就是在View文件夹下面的这个web.config文件里指定的)
我们打开这个web.config文件就可以看到里面就有这么一段
&pages pageBaseType=&System.Web.Mvc.WebViewPage&&
&namespaces&
&add namespace=&System.Web.Mvc& /&
&add namespace=&System.Web.Mvc.Ajax& /&
&add namespace=&System.Web.Mvc.Html& /&
&add namespace=&System.Web.Routing& /&
&/namespaces&
&/pages&如果我们将这个View文件夹中的web.config文件删除后,就会爆下面这段错误
我们访问一个视图页面,例如/Home/Index的时候,视图引擎就会编译这个Index视图,当编译的时候会发现,找到了视图,它不知编译完的这个前端页面类的父类到底是谁
所以得出结论:View文件夹下面的web.config文件的作用是告诉视图引擎如何编译视图的前台页面类,以及制定当前页面类的父类为WebViewPage
这个web.config里面的配置不需要我们手动的更改任何东西,也不能删除
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:245719次
积分:6616
积分:6616
排名:第2324名
原创:429篇
转载:17篇
评论:36条
(6)(4)(8)(12)(8)(6)(5)(19)(10)(11)(5)(19)(7)(12)(29)(7)(2)(19)(12)(12)(9)(26)(23)(32)(6)(14)(23)(15)(21)(1)(5)(13)(13)(15)(16)评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
第一章 ASP.NET 教程 (基础)
第二章 ASP.NET 教程(高级)所有回答(1)
能否截个图看看?
&&&您需要以后才能回答,未注册用户请先。MVC4 Razor视图引擎扩展实现目录结构化处理_.Net博文_CS程序员之窗
热门搜索: ,
您的位置:
&&&&&&&&&&&MVC4 Razor视图引擎扩展实现目录结构化处理
MVC4 Razor视图引擎扩展实现目录结构化处理
来自:cnblogs&
字体大小:【&&】
摘要:本文介绍MVC4 Razor视图引擎扩展实现目录结构化处理 ,并提供简单的示例代码供参考。
这里为处理Razor试图引擎,也适用于WebForm试图引擎中
首先现描述我们的希望达到的效果。即目录结构化:(如下图所示)
我们知道在control中没一个control都会独立的创建一个文件夹,此文件夹下会有这个control的方法。如果我们一个文件夹下有多个control但希望这写control内的view都统一在一个目录下,那么如何处理呢 。这里就需要扩展我们的RazorViewEngine内容.我这里用的是MVC4.0(可能描述的还不是特别详细,参见下图)
这里是我们想要达到的效果。其实处理起来很简单。附上扩展代码:
public class SystemManagerRazorViewEngine : RazorViewEngine
public SystemManagerRazorViewEngine()
//主视图路径
ViewLocationFormats = new[] {
&~/Views/{1}/{0}.cshtml&,
&~/Views/Shared/{0}.cshtml&,
&~/Views/UserManager/{0}.cshtml&,
&~/Views/UserManager/{1}/{0}.cshtml& };
//主分部视图路径
PartialViewLocationFormats = new[] {
&~/Views/{1}/{0}.cshtml&,
&~/Views/Shared/{0}.cshtml&,
&~/Views/UserManager/{0}.cshtml&,
&~/Views/UserManager/{1}/{0}.cshtml&};
protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)
return base.CreatePartialView(controllerContext, partialPath);
protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)
return base.CreateView(controllerContext, viewPath, masterPath);
protected override bool FileExists(ControllerContext controllerContext, string virtualPath)
return base.FileExists(controllerContext, virtualPath);
public override void ReleaseView(ControllerContext controllerContext, IView view)
base.ReleaseView(controllerContext, view);
我们通过创建特定的ViewFormats即可达到我们想要达到的view目录结构,
现在还是存在一个问题,如果那位大侠了解可以提供一点思路,目前我这样处理只能让服务找到特定的目录结构下的view,在编码时,想要gotocontroller是无法做到的。此时应该如何处理。是目前我所不了解的。如有那位侠客了解,帮解答一下,在下感激不尽。
作者:liuyunsheng
上一篇:&&&&&&下一篇:
相关文章:
该文章已有条评论
作品版权作者所有,如果无意之中侵犯了你的版权请来信告知,本站将在3个工作日内删除。
CopyRight@
All rights reserved
&&&&苏ICP备号
客户服务信箱:starts_&这里为处理Razor试图引擎,也适用于WebForm试图引擎中首先现描述我们的希望达到的效果。即目录结构化:(如下图所示)我们知道在control中没一个control都会独立的创建一个文件夹,此文件夹下会有这个control的方法。如果我们一个文件夹下有多个control但希望这写control内的view都统一在一个目录下,那么如何处理呢 。这里就需要扩展我们的RazorViewEngine内容.我这里用的是MVC4.0(可能描述的还不是特别详细,参见下图)这里是我们想要达到的效果。其实处理起来很简单。附上扩展内容 1
public class SystemManagerRazorViewEngine : RazorViewEngine 2
public SystemManagerRazorViewEngine() 5
: base() 6
//主视图路径 8
ViewLocationFormats = new[] { 9
"~/Views/{1}/{0}.cshtml", 10
"~/Views/Shared/{0}.cshtml",11
"~/Views/UserManager/{0}.cshtml", 12
"~/Views/UserManager/{1}/{0}.cshtml" };13 14
//主分部视图路径15
PartialViewLocationFormats = new[] { 16
"~/Views/{1}/{0}.cshtml", 17
"~/Views/Shared/{0}.cshtml",18
"~/Views/UserManager/{0}.cshtml", 19
"~/Views/UserManager/{1}/{0}.cshtml"};20
protected override IView CreatePartialView(ControllerContext controllerContext, string partialPath)23
return base.CreatePartialView(controllerContext, partialPath);25
protected override IView CreateView(ControllerContext controllerContext, string viewPath, string masterPath)28
return base.CreateView(controllerContext, viewPath, masterPath);30
protected override bool FileExists(ControllerContext controllerContext, string virtualPath)33
return base.FileExists(controllerContext, virtualPath);35
public override void ReleaseView(ControllerContext controllerContext, IView view)38
base.ReleaseView(controllerContext, view);40
}我们通过创建特定的ViewFormats即可达到我们想要达到的view目录结构,现在还是存在一个问题,如果那位大侠了解可以提供一点思路,目前我这样处理只能让服务找到特定的目录结构下的view,在编码时,想要gotocontroller是无法做到的。此时应该如何处理。是目前我所不了解的。如有那位侠客了解,帮解答一下,在下感激不尽。&

我要回帖

更多关于 mvc4 实现增删改查 的文章

 

随机推荐