<>

使用Rezor视图引擎的时候移除apsx视图引擎

Global.asax文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing; namespace MvcApp
{
// 注意: 有关启用 IIS6 或 IIS7 经典模式的说明。
// 请訪问 http://go.microsoft.com/?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里面的配置不须要我们手动的更改不论什么东西,也不能删除

移除apsx视图引擎,及View目录下的web.config的作用的更多相关文章

  1. MySQL库目录下db.opt文件的作用

    细心的朋友可能会发现有时候在某些库目录下有个 db.opt 文件,那这个文件是干什么用的呢?如果你用vi等编辑器打开看的话,内容很简单,是用来记录该库的默认字符集编码和字符集排序规则用的.也就是说如果 ...

  2. apache的bin目录下的apxs有什么作用? PHP模块加载运行方式

    2016-03-26 16:40:28   一个perl脚本安装http server扩展模块用的apxs - APache eXtenSion tool –with-apxs2=/usr/local ...

  3. Apache Tomcat目录下各个文件夹的作用

    1.bin:存放各种不同平台开启与关闭Tomcat的脚本文件. 2.lib:存tomcat与web应用的Jar包. 3.conf:存放tomcat的配置文件. 4.webapps:web应用的发布目录 ...

  4. tomcat跟目录下work文件夹的作用

    work目录只是tomcat的工作目录,也就是tomcat把jsp转换为class文件的工作目录. jsp,tomcat的工作原理:当浏览器访问某个jsp页面时,tomcat会在work目录里把这个j ...

  5. iis 在站点中新建虚拟目录站点之后,虚拟目录中的 web.config 与 主站点中的 web.config冲突解决方案

    在虚拟目录站点中增加如下配置即可:<clear/>

  6. Asp.net MVC 移除不用的视图引擎

    Asp.net MVC 默认提供两个视图引擎,分别为: WebFormViewEngine 和 RazorViewEngine.MVC在查找视图时,会按照指定的顺序进行查找.当我们的MVC程序未找到相 ...

  7. MVC ViewEngine视图引擎解读及autofac的IOC运用实践

    MVC 三大特色  Model.View.Control ,这次咱们讲视图引擎ViewEngine 1.首先看看IViewEngine接口的定义 namespace System.Web.Mvc { ...

  8. 配置子目录Web.config使其消除继承,用虚拟目录创建多个网站的方法

    来源:http://www.wtnzone.com/post/2011/02/20/Set-Web-Config-to-Turn-Inheritance-Off.aspx ASP.NET提供了强大的W ...

  9. IIS上虚拟目录下站点的web.config与根站点的web.config冲突解决方法

    IIS7.5上在站点下部署虚拟目录,访问虚拟目录下的项目提示与父节点配置冲突.,节点与的<system.web>节点与主站点的<system.web>冲突解决方法: 在站点下的 ...

随机推荐

  1. [MVC.NET] Asp.Net MVC3 简单入门第一季

    转自:http://www.cnblogs.com/fly_dragon/archive/2011/10/12/2208042.html 初识Asp.Net MVC2.0 初识Asp.Net MVC2 ...

  2. mysql视图,索引和存储过程

    一:视图 视图又叫虚表.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成. 具体 ...

  3. PIE加载自定义服务数据详细介绍

    这段时间我一直在研究如何用PIE加载在线地图服务,遇到了许多问题,多亏了技术员小姐姐的帮助,才让我能正确加载ArcGIS Online在线服务.天地图在线地图和谷歌在线地图.我是根据博客园PIE官方博 ...

  4. table合并单元格 colspan(跨列)和rowspan(跨行)

    colspan和rowspan这两个属性用于创建特殊的表格. colspan是“column span(跨列)”的缩写.colspan属性用在td标签中,用来指定单元格横向跨越的列数: 在浏览器中将显 ...

  5. B - Expression

    Problem description Petya studies in a school and he adores Maths. His class has been studying arith ...

  6. angular中的ng-click指令案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. c# 异步任务队列(可选是否使用单线程执行任务,以及自动取消任务)

    使用demo,(.net framework 4.0 自行添加async wait 扩展库) class Program { static void Main(string[] args) { Con ...

  8. MySQL数据库的使用流程,代码解释+Hibernate连接数据库

    数据库的使用流程: 1.注册驱动: 2.用DriverManager.getConnection方法获得连接对象con: A方法:  3.用连接对象的createStatement()方法,获得可以执 ...

  9. jq遍历 下拉框

    var selectA1 = $("select[name=A1]"); //从A1下拉框中 搜索值 $(selectA1).children("option" ...

  10. Scala 技术笔记之 可变长参数

    转自 http://www.cnblogs.com/rollenholt/p/4112833.html Scala 允许你指明函数的最后一个参数可以是重复的.这可以允许客户向函数传入可变长度参数列表. ...