.NET MVC Razor模板预编译(二)

在前面一片文章:《.NET MVC4 Razor视图预编译(一)》 里面我采用的是PrecompiledMvcViewEngineContrib组件进行预编译视图的虚拟地址注册,但是这个组件还是存在少许的bug,如:页面单独定义Layout预编译后不会起作用,而且照旧会使用没有预编译的_ViewStart.cshtml里面定义的Layout

昨天在NPOI作者Tony的群(群号:78142590)里面经过大神老衣的指点,原来是我引用的第三方类库错了,应该引用:RazorGenerator.Mvc 类库,今天我特意尝试下,发现这个类库真的很不错,在添加对这个类库的引用之后,他会自动进行当前Solution的App_Start生成注册代码,完全不需要你任何手动干预,编译的视图虚拟地址注册会在程序初始化时候自动运行,100%全自动,而且不存在当初引用PrecompiledMvcViewEngineContrib时候的_ViewStart跟_Layout的几个问题,非常的不错!

在这里借花献佛推荐群里面几个大神的blog或项目:

瞿杰(微软MVP,NPOI开源作者,地址:http://npoi.codeplex.com
江振宇(微软MVP,SuperSocket开源作者,博客:http://jzywh.cnblogs.com/
衣明志(微软MVP,博客:http://yimingzhi.net/
张善友(微软MVP,博客:http://www.cnblogs.com/shanyou/
泥水佬(博客:http://www.ikende.com/

大神太多了,这就不一一罗列了~

时间: 2024-10-07 05:27:19

.NET MVC Razor模板预编译(二)的相关文章

[转载].NET MVC4 Razor 视图预编译

平时使用.NET MVC中不乏有类似的需求:某些razor视图,特别是系统后台的视图,不想让用户自行更改,需要通过某种方法把视图模板编译到项目的dll中去. 但是VS并不提供razor的预编译,如果需要对razor预编译需要借助第三方工具:Razor Generator 这里以VS2013为例 1,依次选择:工具---扩展和更新---左侧选择“联机”---搜索“RazorGenerator”,然后安装 2,对MVC项目中的Razor视图右键--属性--生成操作“无”,自定义工具“razorgen

.NET MVC4 Razor视图预编译

在平时使用.NET MVC中会不会有这样子的需求:某些razor视图,特别是系统后台的视图,不想让用户自行更改或者是觉得razor执行效率不高,需要能够把razor预编译到dll文件中去提高执行效率!(道听途说,具体没测...) VS并不提供razor的预编译,如果需要对razor预编译需要借助第三方工具 SO,Let's Begin! 这里以VS2013为例 依次选择:工具---扩展和更新---左侧选择“联机”---搜索“RazorGenerator”,然后安装 2,对MVC项目中的Razor

MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction

一.Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页 @RenderBody 当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过_Layout.cshtml布局页面的@RenderBody()方法呈现在标签之间. @RenderPage从名称可以猜出来这个方法是要呈现一个页面.比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下:@RenderPage("

MVC Razor模板引擎

一.Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页 @RenderBody 当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过_Layout.cshtml布局页面的@RenderBody()方法呈现在标签之间. @RenderPage 从名称可以猜出来这个方法是要呈现一个页面.比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下: @RenderPage(&qu

使用RazorGenerator和预编译MVC引擎将Razor视图编译成DLL

Web开发中常常会有跨页面.跨站点.跨项目组的复用模块(界面),最常见的就是如下方所示的Web页面上用于显示登录或用户名的头部模块, 使用ASP.NET MVC开发中,常见的做法是写成部分视图,本文的目的则是进一步将这部分视图预编译成DLL, 这样就可以不直接暴露源码的提供复用组件,适合跨项目组的协作开发. 技术点 Razor Generator(Razor单文件生产器) RazorGenerator.Mvc(Razor视图预编译引擎) 步骤一:安装拓展,项目准备 首先,为VS安装Razor G

体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图

这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件. 需要在 project.json 中添加如下配置: 1)在 "dependencies" 中添加: "Microsoft.AspNetCore.Mvc.Razor.ViewCompilation.Design": "1.1.0-preview4-final" 2)在"tools&quo

.Net Core Razor 预编译,动态编译,混合编译

预编译 预编译是ASP .Net Core的默认方式.在发布时,默认会将系统中的所有Razor视图进行预编译.编译好的视图DLL统一命名为 xxx.PrecompiledViews.dll 或者 xxx.Views.dll 动态编译 将项目整个配置成动态编译很简单,添加一个配置项目MvcRazorCompileOnPublish,值为false即可 <PropertyGroup> <MvcRazorCompileOnPublish>false</MvcRazorCompile

C语言的傻瓜式随笔(二):全局变量、预编译、goto

函数的作用:可以实现代码的重用. 函数只需要定义1次,那么函数中的代码就可以随意的调用.       -某不知出处的基本概念 学而时习之,如有误笔,请指正 一.goto跳转语句 goto在C语言的作用: 可以将CPU的执行跳转到当前函数的别的地方继续执行.因为会产生代码回朔,所以极易产生死循环. 注意: 1). 标签名随意,但是要符合标识符的命名规则及规范. 标识符: 那就是程序员可以自己给名字的东西 统称为标识符. 变量名.标签名.函数名. 2). goto可以往前跳 也可以往后跳. 3).

JavaScript作用域原理(二)——预编译

JavaScript是一种脚本语言, 它的执行过程, 是一种翻译执行的过程.并且JavaScript是有预编译过程的,在执行每一段脚本代码之前, 都会首先处理var关键字和function定义式(函数定义式和函数表达式). 一.变量执行之前,会被赋为undefined <p id="scope2" style="color:red"></p> function echo(p, html) { p.innerHTML += html + '&l