Razor基本语法
前言:
Razor引擎的核心是识别@符号及尖括号:
1、<...></...>
2、<.../>
[之所以说是“尖括号”而非“元素标签”,见下面的例子。]
@for (int i = 0; i < 5; i++)
{
<test>i</test>
}
基本语法:
语法一、@()
表达式
@( 1 == 0 ? "1等于0" : "1不等于0")
语法二、@{}
语句块
@{
var now = DateTime.Now;
if (now.Hour.CompareTo(12) < 0)
{
<span>上午</span>
}
else
{
<span>下午</span>
}
}
语法三、@
1、@后面直接跟变量输出变量的内容
2、@后面直接跟有返回值的方法输出方法的返回值
3、if-else、switch、for、foreach、while、do-while等流控制语句
@now.Hour<br />
@now.ToShortDateString()<br />
@if (now.Hour.CompareTo(12) < 0)
{
<span>上午</span>
}
else
{
<span>下午</span>
}
<br />
@for (int i = 0; i < 5; i++)
{
<span>@i</span>
}
|
特殊场景:@注意点 <span>不能切换到@now.编程语言</span><br />
<span>不能切换到 @now .编程语言</span><br />
@{
RazorTestClass.SayHello();
} public class RazorTestClass
{
public static void SayHello()
{
return;
}
public static string SayHello<T>(T t)
{
return t.ToString();
}
} |
语法四、@helper
声明方法
@helper paging(uint itemCount,uint pageSize,uint pageIndex)
{
uint totalPagesCount = itemCount%pageSize == 0 ? itemCount/pageSize : itemCount/pageSize + 1;
if (0 ==
totalPagesCount
)
{
totalPagesCount = 1;
}
for (
uint i = 1; i <= totalPagesCount; i++)
{
if (
i == pageIndex)
{
<a class="pagination current" href="#?pageIndex=@i">@i</a>
}
else
{
<a class="pagination" href="#?pageIndex=@i">@i</a>
}
}
}
@paging(51, 10, 3)
语法五、@**@
注释
@*
这是一个注释
*@
语法六、Razor内置标签<text></text>
用于直接输出内容
@for (int i = 0; i < 5; i++)
{
<text>@i</text>
}
语法七、转义符
例:
@@
@class
@{
@:转义符@@
}
补充:
Razor引擎输出HTML默认会转义,需要不转义输出使用html.Raw()方法最为方便。
@{
var str = "<div style='color:red'>我会被转义吗?</div>";
}
@str
@Html.Raw(str)
Razor基本语法的更多相关文章
- Razor基础语法简介
http://blog.csdn.net/pasic/article/details/7072340 Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml Razor基础语法: ...
- Razor基础语法
原文:Razor基础语法 一.介绍 Razor是ASP.NET MVC视图引擎的代号,支持.cshtml和.vbhtml两种模板文件,符号@标记服务端代码的开始,比以前asp.net的< ...
- ASP.NET Mvc Razor视图语法
在ASP.NET MVC中有两套模版引擎,一套是ASPX,一套是Razor,从事过WebForms开发的朋友们,对于ASPX模版已经很熟悉了,下面我说一下我所熟悉的Razor模版引擎的一些语法,供大家 ...
- ASP.NET MVC3细嚼慢咽---(3)Razor视图语法
MVC3.0中新增加了Razor视图,Razor视图的语法以@符号为核心,貌似在这个时代离不开@了,微博,邮箱都用这个. 1.输出变量和文本 @DateTime.Now @for (int i = 0 ...
- 浅谈MVC Razor基本语法
首先说下MVC,mvc已经不用ViewState来保留网页的状态,所以大部分依赖ViewState的功能都将无法使用, 比如gridview的分页与排序,page trace等利用viewstate记 ...
- MVC——数据库增删改查(Razor)——Html语法
一.显示界面 .Models(模板) private MyDBDataContext _context = new MyDBDataContext(); public List<Info> ...
- MVC学习四:Razor视图语法
@{ Layout = null; } <hr /> <!DOCTYPE html> @this.GetType().Assembly.Location.ToString() ...
- ASP.NET Razor——ASP.NET Razor - C#代码语法
Razor 同时支持 C# (C sharp) 和 VB (Visual Basic). 主要的 Razor C# 语法规则 Razor 代码块包含在 @{ ... } 中 内联表达式(变量和函数)以 ...
- Razor语法的一些特殊需求输出
开发ASP.NET MVC,常会使用Razor来呈现内容.下面有几个特殊需求的输出,Insus.NET列出来让大家参考. 双@@输出只有一个. 在Razor的语法中,如果想输出html,它会有两种语法 ...
随机推荐
- 学习django之正则表达式re模块
re(regular expression)模块 正则表达式(regular expression)主要功能是从字符串(string)中通过特定的模式(pattern),搜索想要找到的内容. 一.re ...
- 第53讲:Scala中结构类型实战详解
今天学习了scala的结构类型,让我们看看代码 class Structural {def open() = print("A class interface opened") } ...
- 创建一个ArcGIS for Android 新项目并显示出本地的地图
1.准备工作:首先要配置好android的开发环境,然后在Eclipse中安装ArcGIS for Android的开发控件:在ArcCatalog中发布好本地的地图服务. 2.安装完ArcGIS f ...
- How to Install JAVA 8 (JDK/JRE 8u111) on Debian 8 & 7 via PPA
Oracle JAVA 8 Stable release has been released on Mar,18 2014 and available to download and install. ...
- String、String.valueOf、toString 它们三者的区别总结
今天在使用这个的时候发现,他们三者好像在某些场所都是可以用的,但是不免会让人想到那既然它们三者这么的相似,那么总有些什么区别吧.我也在网上找了一些资料看.自己也看了API文档,就将他们三的区别总结一下 ...
- 视频聊天室可以用php制作吗?
首先,告诉你单纯用php制作视频聊天室是实现不了的,需要配合其他技术手段一起操作,例如和FLASH配合,使用FLASH获取语音(FLASH可以获取访问端的设备,例如摄像头). PHP运行在服务器端,是 ...
- Smack 3.3.1 发布,Java 的 XMPP 开发包
Smack 3.3.1 发布了,这是一个小更新版本,主要更新包括: [SMACK-441] - Memory leak in KeepAliveManager [SMACK-447] - Compre ...
- DataTables 控件使用和心得 (2) - 参数Options
什么是DataTables参数(Options) 上篇我们说了,DataTables控件的加载函数dataTable()一般都有一个对象参数,这个对象参数就是整个DataTables控件的参数(Opt ...
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.6,增加语音消息、语音留言等功能
自从微信出来后,语音消息和语音留言变得非常流行,按下一个键说话,比打字要方便多了.GG在V3.6版本增加了对语音消息和语音留言(或称为离线语音消息)的支持.这两个功能的实现已经很完整,只是比较遗憾的一 ...
- session机制详解以及session的相关应用
session是web开发里一个重要的概念,在大多数web应用里session都是被当做现成的东西,拿来就直接用,但是一些复杂的web应用里能拿来用的session已经满足不了实际的需求,当碰到这样的 ...