前言:

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>

}

特殊场景:@注意点
   1、编程语言要与输出字符串隔离
   2、不能调用无返回值的方法,解决方法是使用语句块@{}.

<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基本语法的更多相关文章

  1. Razor基础语法简介

    http://blog.csdn.net/pasic/article/details/7072340 Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml Razor基础语法: ...

  2. Razor基础语法

    原文:Razor基础语法 一.介绍      Razor是ASP.NET MVC视图引擎的代号,支持.cshtml和.vbhtml两种模板文件,符号@标记服务端代码的开始,比以前asp.net的< ...

  3. ASP.NET Mvc Razor视图语法

    在ASP.NET MVC中有两套模版引擎,一套是ASPX,一套是Razor,从事过WebForms开发的朋友们,对于ASPX模版已经很熟悉了,下面我说一下我所熟悉的Razor模版引擎的一些语法,供大家 ...

  4. ASP.NET MVC3细嚼慢咽---(3)Razor视图语法

    MVC3.0中新增加了Razor视图,Razor视图的语法以@符号为核心,貌似在这个时代离不开@了,微博,邮箱都用这个. 1.输出变量和文本 @DateTime.Now @for (int i = 0 ...

  5. 浅谈MVC Razor基本语法

    首先说下MVC,mvc已经不用ViewState来保留网页的状态,所以大部分依赖ViewState的功能都将无法使用, 比如gridview的分页与排序,page trace等利用viewstate记 ...

  6. MVC——数据库增删改查(Razor)——Html语法

    一.显示界面 .Models(模板) private MyDBDataContext _context = new MyDBDataContext(); public List<Info> ...

  7. MVC学习四:Razor视图语法

    @{ Layout = null; } <hr /> <!DOCTYPE html> @this.GetType().Assembly.Location.ToString() ...

  8. ASP.NET Razor——ASP.NET Razor - C#代码语法

    Razor 同时支持 C# (C sharp) 和 VB (Visual Basic). 主要的 Razor C# 语法规则 Razor 代码块包含在 @{ ... } 中 内联表达式(变量和函数)以 ...

  9. Razor语法的一些特殊需求输出

    开发ASP.NET MVC,常会使用Razor来呈现内容.下面有几个特殊需求的输出,Insus.NET列出来让大家参考. 双@@输出只有一个. 在Razor的语法中,如果想输出html,它会有两种语法 ...

随机推荐

  1. jQUery 1.9中被删除的API

    jQuery1.9删除了一些在以前版本中已经过时的api,想要把那些不够安全的.缺乏效率的.用处不大的,以及带有误导的特性统统去掉.如果你想升级你的jquery版本,但又使用了如下被删除的api的话, ...

  2. java构造器

    java的构造器不是方法,因为没有返回值. 构造器可以重载. 构造器的访问说明符: private:只有本类可以使用这个构造器. protected:这个类的子类和包中的类都可以使用此构造器. pub ...

  3. pivotx的entry和page内容里的日期格式修改

    欢迎转载opendevkit文章, 文章原始地址: http://www.opendevkit.com/?e=63 1. 文章发布时间的确定 如果服务器空间在国内还好说, 如果在国外的话, 文章编辑时 ...

  4. 用脚本定时监控SQL Server主从一致性

    用脚本定时监控SQL Server主从一致性 首先说一下我们的环境 我们使用的是事务复制,复制是单向的,主服务器和从服务器都在同一个机房,当然不同机房也可以,只需要改一下IP和端口 下面的脚本在我们的 ...

  5. C语言结构体-struct

    知识点: 1)结构体的定义. 2)结构体的sizeof. 3)  结构体的指针. 1) 结构体的定义: 在逻辑上有一定关联的多个数据类型做为一整体进行操作的数据结构,它的关键字是struct.下面我将 ...

  6. 在Linux上用supervisor运行ASP.NET Core站点的一个坑

    将一个ASP.NET Core站点在Linux服务器上以self-contained部署方式发布出来后,直接在终端上运行下面的命令,站点可以正常运行. /data/AboutUs/bin/Debug/ ...

  7. Http规范

    1. 关于 HTTP Basic Authentication http://blog.itpub.net/23071790/viewspace-709367/ 通过以下代码,提示用户登录 Respo ...

  8. WPF,Silverlight与XAML读书笔记第四十六 - 外观效果之三皮肤与主题

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 皮肤 皮肤是应用程序中样式与模板的集合,可以 ...

  9. 【C语言学习】《C Primer Plus》第4章 字符串和格式化输入/输出

    学习总结 1.String str=”hello world!”;(Java),char[20]=” hello world!”;(C).其实Java字符串的实现,也是字符数组. 2.字符串的尾部都会 ...

  10. 统计第一个空字符前面的字符长度(java实现)

    举例来说:char buf[] = {'a','b','c','d','e','f','\0','x','y','z'}当输入N=10或20,期待输出是6:当输入N=3或5,期待输出是3或5. pac ...