脱离MVC使用Razor模板引擎
关于Razor模板引擎
1.简介
模板引擎:Razor、Nveocity、Vtemplate。Razor有VS自动提示。使用起来会方便一点。
但是Razor大多是在MVC下使用的。
那么如何在非MVC下使用Razor呢?
2.非MVC下使用Razor
借助开源的RazorEngine,我们就可以在非asp.net mvc项目中使用Razor引擎了。
甚至在winform项目中都可以使用Razor(就可以写一些灵活度较高的代码生成器了)。
3.RazorEngine下载地址
4.工作流程
通过和杨中科大大的交流,我大致得出了Razor的工作流程,如下图所示。本篇博文大致脉络
大体上依据这张图。
尝试使用
1.导入DLL
2.创建cshtml
在非mvc项目中创建cshtml文件(cshtml文件可以用自动提示)
方法很简单,新建一个html,新建的时候改名为XX.cshtml即可。
像这样我们的前期准备工作就做完了!开始玩儿起来吧。
3.用c#语法在cshtml中写一个循环
@{}中可以写C#代码,C#代码可以和html代码混排,
像下图这样写是可以的,让小编想起了做php的岁月。
4.在一般处理程序中读取
从开头的流程图得知,想让程序转起来,还得用Razor对象,读取一下cshtml。
让他形成一个程序集,再生成html。
图上画这绕,其实用起来并不太复杂。
像下图这样就可以了。
5)cshtml如何读取对象中的值
1)首先在一般处理程序中,调用Parse方法的时候多给一个参数。
这个参数,就是你在cshtml中想要读取对象。(理论上啥都行)
2)然后再cshtm中就可以找到这个对象了。
@Model.Age
@Model.Name
可以把这段代码写在cshtml中,想在哪输出就在哪输出。
结尾
至此,我们解决了,如何在非mvc下使用Razor模板引擎的几个基础问题。
1)如何创建环境。简单说 导入dll,创建cshtml文件
2)@{}的方式嵌入C#代码。 混编的效果
3)在cshtml中如何获取对象的值
基本上就是这些吧。
脱离MVC使用Razor模板引擎的更多相关文章
- MVC Razor模板引擎输出HTML或者生产HTML文件
以前做CMS的时候都会根据模板来生成输出HTML或者生成HTML文件. 常用的引擎有VTemplate.NVelocity等等,这个我就布做介绍了. 这里我想说的是.当mvc出现Razor模板引擎的时 ...
- Asp.net MVC Razor模板引擎技巧分享
Razor是Asp.net MVC中新的默认模板类型, 语法简单易用.这篇文章不涉及Razor的语法,主要介绍Razor的一些在MVC项目中的使用技巧,以及脱离MVC环境下,如何使用Razor. 阅读 ...
- [转]MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction
本文参考自下面文章整理 MVC Razor模板引擎 @RenderBody.@RenderPage.@RenderSection及Html.RenderPartial.Html.RenderActio ...
- MVC的验证(模型注解和非侵入式脚本的结合使用) .Net中初探Redis .net通过代码发送邮件 Log4net (Log for .net) 使用GDI技术创建ASP.NET验证码 Razor模板引擎 (RazorEngine) .Net程序员应该掌握的正则表达式
MVC的验证(模型注解和非侵入式脚本的结合使用) @HtmlHrlper方式创建的标签,会自动生成一些属性,其中一些属性就是关于验证 如图示例: 模型注解 通过模型注解后,MVC的验证,包括前台客 ...
- MVC小系列(二)【Razor 模板引擎】
Razor 模板引擎 Razor模板页:它使我们不用再使用master模板了 一 :@Url.Content:是可以加载CSS和JS等文件比如: <link href="@Url.Co ...
- Razor模板引擎
Razor模板引擎 阅读目录 一.简介 二.非Mvc中使用Razor 三.总结 回到目录 一.简介 在MVC以外的场景中,我们往往需要完成一些模板引擎生成代码或页面的工作:在以前我们一般常用的有Raz ...
- Razor模板引擎 (RazorEngine)
Razor模板引擎不仅在ASP.NET MVC中内置了Razor模板引擎,还有一个开源的RazorEngine, 这样以来我们可以在非ASP.NET MVC项目中使用Razor引擎,甚至在控制台,Wi ...
- Razor - 模板引擎 / 代码生成 - RazorEngine
目录 Brief Authors Official Website RazorEngine 的原理 - 官方解释 安装记录 Supported Syntax (默认实现支持的语法) 测试记录 - ca ...
- 基于ABP做一个简单的系统——实战篇:4.基于富文本编辑器,Razor模板引擎生成内容并导出Word 填坑记录
起因 需求是这样的,有一种协议需要生成,协议的模板是可配置的,在生成过程中,模板中的内容可以根据约定的标记进行替换(就像mvc的razor模板一样).生成后的内容还需要导出成word或pdf. 常见的 ...
随机推荐
- Java单例模式&static成员变量 区别
当需要共享的变量很多时,使用static变量占用内存的时间过长,在类的整个生命周期. 而对象只是存在于对象的整个生命周期. //饿汉式 class Single//类一加载,对象就已经存在了. { ...
- 第四周PSP &进度条
团队项目PSP 一:表格 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论开发环境.工具以及技术 8:37 10:42 25 10 ...
- 【vue】vue安装卡住/报错
网上有很多教程怎么安装: 安装cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org 升级npmcnpm install ...
- [微软官网]One Windows Kernel
One Windows Kernel https://techcommunity.microsoft.com/t5/Windows-Kernel-Internals/One-Windows-Kerne ...
- PreparedStatement的execute误解
boolean execute() throws SQLException在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句.一些特别处理过的语 ...
- shell脚本如何获取当前时间
在shell脚本里常常需要获取系统时间来处理某项操作,linux的系统时间在shell里是可以直接调用系统变量的如: 获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(da ...
- HDU4055_Number String
题目告诉你在一个排列中,相邻两个数的大小关系.问你排列可能有多少种情况. DP. f[i][j]表示将i个数按照前面i-1个大小关系排列且最后一个数位j的排列数有多少个. 这样对于新加入的一个数i+1 ...
- 【HLSDK系列】Delta 详解
服务端和客户端总是需要互相交换数据,来做到实时的游戏体验. 很久之前,我们的网速都不是很快,甚至带宽只有 1Mbps (128KB/s)这样的速度,作为当时一个网络实时对战游戏,每时每刻都要传递数据, ...
- P4623 [COCI2012-2013#6] BUREK
题目描述 给定N个三角形,和M条直线,直线要么平行于X轴,要么平行于Y轴,问这M条直线 分别经过多少个三角形内部 (注意是内部即分开的两个多边形的面积均大于零). 输入输出格式 输入格式: 第一行一个 ...
- 【WebAPI】新手入门WebAPI
一.前言 工作也有一年多了,从进入公司就一直进行BIM(建筑信息模型)C/S产品的研发,平时写的最多的就是Dev WPF.一个偶然的时机,产品需要做支付宝扫码与微信扫码,所以需要了解产品服 ...