Razor视图引擎 语法学习
下面就和大家分享下我在asp.net官网看到的资料,学习到的点语法。
1.通过使用@符号,可以直接在html页面中写C#或者VB代码:
运行后:
2.页面中的C#或者VB代码都放在大括号中。
运行后:
3.每一行代码通过分号来结束:
运行后:
4.在页面中输出特殊字符,双引号和斜杠:
运行效果:
5.通过Request属性得到当前页面的url,RequestType等。
运行结果:
6.通过if---else:
场景是,我们通过判断当前浏览器是否向服务器端post数据,如果post则提示你点击了Post按钮。
运行后:
- 爱因斯坦小脑 2011-05-02 14:55

当点击submit按钮后,@totalMessage将会是输入text1和text2的和。

Razor中还有自己的类型转化:

另外就是Razor中的注释,有两种方式-:

- 爱因斯坦小脑 2011-05-02 15:04
和Webform引擎相似,Razor语法也允许让一些服务器端的代码嵌入到web页面。客户端的代码主要是一些html和css,javascript等。当页面中有服务器端需要解析的代码时,这些Razor语法的代码会动态的被编译成HTML标记,并返回到客户端。
Web form引擎的文件必须是aspx或者ascx后缀的,Razor的文件时cshtml或者是vbhtml后缀。服务器端是通过文件后缀来决定当前的文件是否使用了Razor语法。
Razor也是在Asp.net基础上的一种新的语言,它和asp.net以及.net framework平台的关系如下:
所以如果你的网站现在使用的是Asp.net那么你就可以现在开始不适用.aspx和ascx页面而使用.cshtml或者vbhtml页面,我只知道在asp.net mvc中只要把对应的试图引擎给注册下酒行了。 对于传统的asp.net网站就不大了解如何同时使用几个试图引擎了。
1.更加简洁的让text,html和代码集合到一起
例子:
上面是使用Razor引擎的代码,如果使用webform试图引擎,你需要使用<% %>标记来把代码和html集合到一起,但从把代码和html集合到一起来看,@符合也就是比<%%>少写一个标记,但是如果代码行数多了以及对于if else的判断使用的花括号都需要<%%>标记,你就会感觉的Razor真的是简洁了不少。
运行效果:
2.@: 的使用和<text>标记的使用:
@: 用来输出文本或者是那些未能找到匹配的Html标记的标记符。如果是单行使用@:,但是对于多行代码显示,就可以使用text标签来替代@:了。
例子:
这个我运行的结果好像和预期的不一样。。。。
使用<text>标记也是一样的效果,难道是RTM版本把这个功能去掉了??、???
3.变量赋值时换行的问题。
你可以一行内为变量赋值,或者是在其它行开始时为变量赋值,或者是使用转义符号@,上面例子的1,2,3种情况是正确的赋值,但是方括号包住的会直接报错。
4.变量的类型:
Razor中的数据类型和C#中的差不多,很多C#的变量类型以及声明变量的方式,都可以在Razor中看到。。。。。比如上面的stirng name=”Joe”; int count=5;等。
- 爱因斯坦小脑 2011-05-02 15:06
和webform引擎相似,例子:

运行效果:

5.条件判断和循环的使用
条件判断有if, switch等,
先看使用if条件判断的例子:

如果是在C#中,上面的if(showToday)后面不需要是用大括号也可以正常显示,但是在Razor中,如果不加这个大括号,你就杯具了。
使用if…else的例子:
上面的例子中我们使用了if---else,这个和C#中的相同,如果你仔细看发现下面有个@:或者是我注释掉的<text>标记,它们的作用是在Razor代码中能够输出文本。而不需要输出html。
switch条件判断例子:
运行结果:
循环就不用说了for,foreach,以及while。
for循环:

foreach的使用:
- 爱因斯坦小脑 2011-05-02 15:08
在Razor中有个方法是Href,它主要是用来在img标签和link以及a标签中得到对应的文件的完全url而设计的。
例如:

运行:
除了这些语法,在Razor中也可以使用System.Generic.Collection中的那些容器。比如Dictionary.
也支持直接在Razor代码中捕获异常。

Razor视图引擎 语法学习的更多相关文章
- Razor视图引擎 语法学习(一)
ASP.NET MVC是一种构建web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架: ASP.NET约定优于配置:基本分为模型(对实体数据 ...
- Razor视图引擎 语法学习(二)
下面就和大家分享下我在asp.net官网看到的资料,学习到的点语法.1.通过使用@符号,可以直接在html页面中写C#或者VB代码:运行后: 2.页面中的C#或者VB代码都放在大括号中.运行后: 3. ...
- ASP.NET MVC学习---(七)Razor视图引擎语法
之前体验过razor视图引擎@符号的威力了吧~ 连我这个初学者都能感觉到确实省时省力方便快捷 简直就是居家旅行*人*货必备之物啊(这里和谐两个字~) 那么现在就开始对razor的语法进一步介绍~ 1. ...
- Razor视图引擎语法
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...
- Razor视图引擎 语法
- ASP.NET MVC 3 Razor 视图引擎 基本语法
本篇博文将进入MVC 3 的世界了,首先学习一下MVC 3 新增的Razor视图引擎的基本语法. 1. 使用 @ 字符将代码添加到页面中.正如传统的aspx视图的<% %>相同. ...
- ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习
一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留 ...
- ASP.Net MVC开发基础学习笔记(3):Razor视图引擎、控制器与路由机制学习
一.天降神器“剃须刀” — Razor视图引擎 1.1 千呼万唤始出来的MVC3.0 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留 ...
- ASP.NET MVC3 系列教程 - Razor视图引擎基础语法
http://www.cnblogs.com/highend/archive/2011/04/09/aspnet_mvc3_razor_engine.html 4. 关于所有带"_" ...
随机推荐
- ui-grid angularjs
<pre name="code" class="html"><!--ui-grid css--> <link rel=" ...
- Python入门之Python引用模块和查找模块路径
#这篇文章主要介绍了Python引用模块和Python查找模块路径的相关资料,需要的朋友可以参考下 模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的, ...
- Fast特征点的寻找和提取
一.基础 最初由Rosten和Drummond [Rosten06]提出的FAST(加速段测试的特征)特征检测算法是基于将点P与其包围圆内的点集的直接比较的思想. 基本思想是,如果附近的几个点与P类似 ...
- 20145307陈俊达《网络对抗》Exp6 信息搜集与漏洞扫描
20145307陈俊达<网络对抗>Exp6 信息搜集与漏洞扫描 基础问题回答 哪些组织负责DNS,IP的管理? 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器.D ...
- 20145331魏澍琛《网络对抗》Exp4 恶意代码分析
20145331魏澍琛<网络对抗>Exp4 恶意代码分析 基础问题回答 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作 ...
- .Family_物联网
群名称 : .Family_物联网 QQ群号: 群介绍 基于嵌入式,构建各通信模式,网关,平台软件,工业系统等领域,欢迎各位朋友加群,交流学习!
- Python3基础 函数 无参数无返回值 调用会输出hello world的函数
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 51nod 1242 斐波那契数列的第N项
之前一直没敢做矩阵一类的题目 其实还好吧 推荐看一下 : http://www.cnblogs.com/SYCstudio/p/7211050.html 但是后面的斐波那契 推导不是很懂 前面讲的挺 ...
- github上不去了
这几天发现github.com上不去了 可能是由于要杜绝国外的人使用最新的技术??从而屏蔽了吗?
- kaggle CTR预估
参考涛哥之前做过的CTR预估project,学习下CTR预估的相关知识:http://blog.csdn.net/hero_fantao/article/category/6877765 目标:本周末 ...

