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,它会有两种语法 ...
随机推荐
- maven之上传新的jar包
今天要求上传若干jar包到maven服务器,师父曾经真的是一步一步点给我看.然后我特喵的忘记了,师父又一步一步点给我看,所以我记录下来,以后留用. 步骤如下,如图所示: 1)先在首页查询下将要上传的j ...
- iOS关于定制某个控件四个角是否为圆角
UIView *myView=[[UIView alloc]initWithFrame:CGRectMake(50, 70, 200, 200)]; UIBezierPath * bezierPath ...
- c#判断是否为合法的email地址
题目要求: class Program { static void Main(string[] args) { Console.WriteLine("请输入正确的邮箱地址,以 @sina.c ...
- C#的函数柯里化
前面说到了C#的泛型委托和闭包函数,在函数是程序设计里还有一个重要特征是柯里化... 柯里化就是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结 ...
- MySQL2:四种MySQL存储引擎
前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以 ...
- dojo/dom-style样式操作学习笔记
基础总结 一个元素的样式信息由三个来源根据层叠规则确定.三个来源分别是: 由DOM元素style特性设置的内联样式 由style元素中嵌入的样式规则 由link元素引入的外部样式表 元素的样式 任何支 ...
- Spring AOP简述
使用面想对象(Object-Oriented Programming,OOP)包含一些弊端,当需要为多个不具有继承关系的对象引入公共行为时,例如日志,安全检测等.我们只有在每个对象中引入公共行为,这样 ...
- JavaScript很牛
几年前,我从来没有想过现在的JavaScript竟然会变得几乎无处不在.下面是几个要关注JavaScript的原因. 首先,我认为JavaScript能够得到普及的主要原因之一是,JavaScript ...
- 在GitHub注册账户的过程
(1)第一步:首先起一个属于自己用户的名字(username),用户名字只能包含字母数字的字符或者单个连字符,不能只用单个连字符开始或者结束(only contain alphanumeric cha ...
- C# WPF 让你的窗口始终钉在桌面上
IntPtr hWnd = new WindowInteropHelper(Application.Current.MainWindow).Handle; IntPtr hWndProgMan = F ...