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,它会有两种语法 ...
随机推荐
- Texture Atlas
Texture atlas [1][2] is a technique to group smaller textures into a larger texture. This decreases ...
- poj 3067 - Japan(树状数组)
先按第一个数从大到小排序,相等的情况下,第二个数按照从大到小排序..... 预处理后,照着树状数组写就行了... 注意:k的最大值应取1000*1000 代码如下: include <cstdi ...
- sgdisk常用操作
与fdisk创建MBR分区一样,sgdisk是一个创建GPT分区的工具,如果你还不了解GPT分区,请参考The difference between booting MBR and GPT with ...
- 普通用户使用dbms_xplan包需要有的权限
普通用户使用dbms_xplan包查看执行计划需要对v$sql.v$sql_plan.v$session及v$sql_plan_statistics_all这四个视图同时具有select权限. 如果普 ...
- 更高效地提高redis client多线程操作的并发吞吐设计
Redis是一个非常高效的基于内存的NOSQL数据库,它提供非常高效的数据读写效能.在实际应用中往往是带宽和CLIENT库读写损耗过高导致无法更好地发挥出Redis更出色的能力.下面结合一些redis ...
- CSS3之绽放的花朵(网页效果--每日一更)
今天,带来的是纯CSS3打造的效果--绽放的花朵. 先来看效果吧:亲,请点击这里 这是纯CSS3样式打造的效果,关键是采用了animation属性和transform属性.详细请看下面代码. HTML ...
- 为什么要放弃使用Thread.Sleep
前言 此文并不是说要完全放弃使用Thread.Sleep,而是要说明在符合哪些情况下使用! 场景 很多时候,我们会需要一个定时服务来处理业务. 但并不是死死的每隔N分钟执行一次那种,而是在一次处理完后 ...
- 网页集成paypal支付
在网站中集成paypal支付有两种方式: 1.通过paypal账户的按钮创建工具 进入paypal 商户账号,选择创建按钮工具,有包括添加到购物车.购买.租用三类按钮. 之后会生成一段代码,直接将代码 ...
- 讲讲HashCode的作用
前言 Object提供给我们了一个Native的方法“public native int hashCode();”,本文讲讲Hash是什么以及HashCode的作用 Hash 先用一张图看下什么是Ha ...
- git版本管理策略及相关技巧(A)
公司几乎所有的项目都是使用 git 仓库来管理代码,以前对 git 只有些肤浅的了解,每次提交代码或者上线的时候总是会提心吊胆,生怕出现一些未知的问题.经过三个月的踩坑和填坑, git 操作颇显成熟. ...