前言:

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. ORA-00060:等待资源时检测到死锁的一种处理方法

    先执行脚本: SELECT p.sipid, a.serial#, c.object_name, b.session_id, b.oracle_username, b.os_user_name FRO ...

  2. kafka及zookeeper安装

    kafka_2.9.2-0.8.1.tgzzookeeper-3.4.8.tar.gz 安装 zookeeper1 export PATH=$PATH:/usr/local/zookeeper/bin ...

  3. 01.WAMP搭建 [Win7+Apache2.4+MySQL5.7+PHP7

    WAMP搭建[Win7+Apache2.4+MySQL5.7+PHP7 一.背景 将电脑光驱位拆换成固态硬盘(120g),专门装了一个系统用于工作.之前一直使用PHPstudy和WAMP这种集成环境, ...

  4. 安装CAS服务器

    1.简介 参考: http://www.coin163.com/java/cas/cas.html CAS主要用于多系统单点登录,属于WEB SSO.SSO体系主要角色有三种:User(多个),WEB ...

  5. No prohects are avaliable for deployment to this server

    没有项目可用于部署到该服务器的项目或者所有项目都已部署到该服务器或没有发现项目 报错的就是这样的信息,网上看了很多解决方案,比如:http://ttov.blog.163.com/blog/stati ...

  6. 浅谈 facebook .net sdk 应用

    今天看了一篇非常好的文章,就放在这里与大家分享一下,顺便也给自己留一份.这段时间一直在学习MVC,另外如果大家有什么好的建议或者学习的地方,也请告知一下,谢谢. 这篇主要介绍如何应用facebook ...

  7. DataPager 分页样式(css)

    <asp:DataPager ID="> <Fields> <asp:NextPreviousPagerField ShowFirstPageButton=&q ...

  8. Centos6.6下安装MariaDB步骤,利用yum进行安装 第二篇

    一.安装过程参考的相关文章: Centos 使用YUM安装MariaDB CentOS安装并设置MariaDB CentOS用yum安装.配置MariaDB MariaDB远程连接配置 ERROR 1 ...

  9. Android多线程分析之五:使用AsyncTask异步下载图像

    Android多线程分析之五:使用AsyncTask异步下载图像 罗朝辉 (http://www.cnblogs.com/kesalin) CC 许可,转载请注明出处 在本系列文章的第一篇<An ...

  10. NPOIExcelHelper

    using System.Data; using System.Configuration; using System.Web; using System.IO; using System.Text; ...