一口气学会MVC5之Razor语法

本文介绍了MVC5中推荐的Razor模板引擎,对比了它与传统ASP.NET模板的区别,如无需关心代码结束符,更简洁。接着详细讲解了Razor的语法,包括单行和多行语句的写法、区分大小写、系统对象的调用、HTML内容显示、注释方式,以及C#的数据类型和条件循环语句的使用。
摘要由CSDN通过智能技术生成

概述

我记得在MVC3.0的时候建一个view还可以选择asp.net模板和Razor模板,而今看到mvc5已经推荐使用了Razor作为模板引擎,那我们先来简单看看两者的区别,原始的方式是用<%= %>在HTML代码中去调用C#代码,这种方式是打ASP.NET还在娘胎里就使用的方法,即不灵活,而且又容易和HTML混淆。

 

Asp.net: <script src="<%=Url.Content("~/Scripts/jquery-1.6.4.min.js")%>"

Razor:   <script src="@Url.Content("~/Scripts/jquery-1.6.4.min.js")" 


从上面2段代码的对比很容易看出来用Razor不用关心代码结束符,更方便使用。

 

从上图可以看出Razor是建立在ASP.NET的基础之上的,语法和ASP.NET有很多相似的地方。我们下面来看看具体的语法

语法介绍

单行Razor语句的写法

 

@{ var intAge= 17; }
<p>显示个年龄: @intAge</p>

多行Razor语句用“@{}”括起来

 

 

@{
    var welcome= "Welcome to my blog!";
    var weekDay = DateTime.Now.DayOfWeek;
    var sumMessage = greeting + " Today is: " + weekDay;
}
<p> 欢迎语: @sumMessage</p>

区分大小写

 

 

@{
    var BIG= "我是大写的";
    var big= "我是小写的";
}
<P>小写:@BIG</P>
<P>大写:@big</P>

可以调用系统的对象

 

 

<div>@Request.Url</div>
<div>@Request.FilePath</div>
<div>@Request.MapPath(Request.FilePath)</div>
<div>@Request.RequestType</div>

Razor中显示HTML内容

 

<div>
@{<b>我是html内容</b>}
</div>@{
    //用@:输出单行html
    @:现在的时间是:@DateTime.Now

    //用<text>输出多行HTML
   <text>大家好<BR/>
   现在的时间是:</text>@DateTime.Now
}

 

Razor中的多行注释

 

@{
    @*
    这里是一个多行代码注释;
    还是注释;
    继续注释。
    *@

    //同时也可以使用C#的注释语法
    /*
    多行注释
    多行注释
 */}

Razor支持C#系统内的数据类型和用户自定义类型(用户自定义类型用Model实现传递)

 

//字符串
var aString = "Hello!大家好!";

// 整型变量.
var aInt = 3;

//运算表达式
 var aBiggerInt = aInt + 5;

//日期时间
var aTime = DateTime.Now;

//一个Request对象的属性
var aPath = Request.Url;

变量类型转换

 

 

@{
var num1 = "3";
var num2 = "5";
// 将字符串转换成整型并进行相加运算.最终结果total=8
var total = num1.AsInt() + num2.AsInt();
}

<P>@total</P>

常用的转换函数

 

 

方法名 描述 例子
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值