详情请参考:http://www.runoob.com/aspnet/razor-intro.html

1.Razor 不是一种编程语言。它是服务器端的标记语言。基于服务器的代码(Visual Basic 和 C#)嵌入到网页中。

基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。Razor 是基于 ASP.NET 的,是为创建 Web 应用程序而设计的。

<ul>
@for (int i = ; i < ; i++) {
<li>@i</li>
}
</ul>

2.Razor 帮助器

3.Razor 编程语言(支持 C# (C sharp) 和 VB (Visual Basic))

主要的 Razor C# 语法规则

  • Razor 代码块包含在 @{ ... } 中
  • 内联表达式(变量和函数)以 @ 开头
  • 代码语句用分号结束
  • 变量使用 var 关键字声明
  • 字符串用引号括起来
  • C# 代码区分大小写
  • C# 文件的扩展名是 .cshtml
<html>
<body>
<!-- Single statement block -->
@{ var myMessage = "Hello World"; } <!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage</p> <!-- Multi-statement block -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
} <p>The greeting is: @greetingMessage</p>
</body>
</html>

主要的 Razor VB 语法规则(这部分省略,以下讲的是C#的内容)

略......

Razor 是一种将服务器代码嵌入在网页中的简单的编程语法。

Razor 语法是基于 ASP.NET 框架,专门用于创建 Web 应用程序的部分 Microsoft.NET 框架。

Razor 语法支持所有 ASP.NET 的功能,但是使用的是一种简化语法,对初学者而言更容易学习,对专家而言更有效率的。

Razor 网页可以被描述成带以下两种类型内容的 HTML 网页: HTML 内容和 Razor 代码。

当服务器读取页面时,它首先运行 Razor 代码,然后再发送 HTML 页面到浏览器。在服务器上执行的代码能够执行一些在浏览器上不能完成的任务,比如,访问服务器数据库。服务器代码能创建动态的 HTML 内容,然后发送到浏览器。从浏览器上看,服务器代码生成的 HTML 与静态的 HTML 内容没有什么不同。

带 Razor 语法的 ASP.NET 网页有特殊的文件扩展名 cshtml(Razor C#)或者 vbhtml(Razor VB)。

4.对象(内置对象、自定义对象)

<table border="1">
<tr>
<th width="100px">Name</th>
<td width="100px">Value</td>
</tr>
<tr>
<td>Day</td><td>@DateTime.Now.Day</td>
</tr>
<tr>
<td>Hour</td><td>@DateTime.Now.Hour</td>
</tr>
<tr>
<td>Minute</td><td>@DateTime.Now.Minute</td>
</tr>
<tr>
<td>Second</td><td>@DateTime.Now.Second</td>
</tr>
</td>
</table>

5.If 和 Else条件

@{
var txt = "";
if(DateTime.Now.Hour > 12)
{txt = "Good Evening";}
else
{txt = "Good Morning";}
}
<html>
<body>
<p>The message is @txt</p>
</body>
</html>

6.读取用户输入

输入是通过 Request[] 功能读取的,并且传送输入数据是经过 IsPost 条件判断的:

@{
var totalMessage = "";
if(IsPost)
{
var num1 = Request["text1"];
var num2 = Request["text2"];
var total = num1.AsInt() + num2.AsInt();
totalMessage = "Total = " + total;
}
}
<!DOCTYPE html>
<html>
<body style="background-color: beige; font-family: Verdana, Arial;">
<form action="" method="post">
<p><label for="text1">First Number:</label><br>
<input type="text" name="text1"></p>
<p><label for="text2">Second Number:</label><br>
<input type="text" name="text2"></p>
<p><input type="submit" value=" Add "></p>
</form>
<p>@totalMessage</p>
</body>
</html>

7. C# 变量

——变量是用来存储数据的命名实体。

——一个变量的名称必须以字母字符开头,并且不能包含空格或者保留字符。

一个变量可以是一个指定的类型,表示它所存储的数据类型。string 变量存储字符串值("Welcome"),integer 变量存储数字值(103),date 变量存储日期值,等等。

变量使用 var 关键字声明,或通过使用类型(如果您想声明类型)声明,但是 ASP.NET 通常能自动确定数据类型。

// Using the var keyword:
var greeting = "Welcome";
var counter = ;
var today = DateTime.Today; // Using data types:
string greeting = "Welcome to RUNOOB.COM";
int counter = ;
DateTime today = DateTime.Today;

数据类型:

int、float、decimal、bool、string......

运算符:略。。。

转换数据类型:

8.C# 循环和数组

For 循环

如果知道要循环的次数,可以使用 for 循环。这种类型的循环在向上计数或向下计数时特别有用:

<html>
<body>
@for(var i = ; i < ; i++)
{
<p>Line @i</p>
}
</body>
</html>

For Each 循环

如果使用的是集合或者数组,经常会用到 for each 循环

集合是一组相似的对象,for each 循环可以遍历集合直到完成。

<html>
<body>
<ul>
@foreach (var x in Request.ServerVariables)
{<li>@x</li>}
</ul>
</body>
</html>

While 循环

<html>
<body>
@{
var i = ;
while (i < )
{
i += ;
<p>Line @i</p>
}
}
</body>
</html>

数组

@{
string[] members = {"Jani", "Hege", "Kai", "Jim"};
int i = Array.IndexOf(members, "Kai")+;
int len = members.Length;
string x = members[-];
}
<html>
<body>
<h3>Members</h3>
@foreach (var person in members)
{
<p>@person</p>
}
<p>The number of names in Members are @len</p>
<p>The person at position is @x</p>
<p>Kai is now in position @i</p> </body>
</html>

9.C# 逻辑条件

If 条件

@{var price=;}
<html>
<body>
@if (price>)
{
<p>The price is too high.</p>
}
</body>
</html>

Else 条件

@{var price=;}
<html>
<body>
@if (price>)
{
<p>The price is too high.</p>
}
else
{
<p>The price is OK.</p>
}
</body>
</html>

Else If 条件

@{var price=;}
<html>
<body>
@if (price>=)
{
<p>The price is high.</p>
}
else if (price> && price<)
{
<p>The price is OK.</p>
}
else
{
<p>The price is low.</p>
}
</body>
</html>

Switch 条件

@{
var message="";
var weekday=DateTime.Now.DayOfWeek;
var day=weekday.ToString()
}
<html>
<body>
@switch(day)
{
case "Monday":
message="This is the first weekday.";
break;
case "Thursday":
message="Only one day before weekend.";
break;
case "Friday":
message="Tomorrow is weekend!";
break;
default:
message="Today is " + day;
break;
}
<p>@message</p>
</body>
</html>

Razor - 标记简述的更多相关文章

  1. Razor标记语言介绍

    什么是Razor?   Razor的中文意思是"剃刀",它不是编程语言,只是一种服务器段的标记语言,与PHP和ASP类似   Razor允许你向网页中嵌入基于服务器的代码(Visu ...

  2. ASP.NET Razor - 标记

    目录 什么是 Razor? Razor 帮助器 ASP.NET Razor - C# 和 VB 代码语法 主要的 Razor C# 语法规则 它是如何工作的? 使用对象 If 和 Else条件 读取用 ...

  3. ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考

    原文:Razor Syntax Reference 作者:Taylor Mullen.Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:何镇汐 什么是 Razor? Razor 是一 ...

  4. Razor基础语法一

    目录: 什么是Razor? 渲染HTML Razor语法 隐式 Razor 表达式 显式 Razor 表达式 什么是Razor? Razor是基于服务端代码转换成网页的标记语法.语法主要包括Razor ...

  5. ASP.NET Razor——Razor 简介

    ASP.NET Razor - 标记 Razor 不是一种编程语言.它是服务器端的标记语言. 什么是 Razor? Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 ...

  6. ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用

    文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html 上一节:ASP.NET MVC ...

  7. Razor 语法

    Razor 语法 原文:Razor Syntax Reference作者:Taylor Mullen.Rick Anderson翻译:刘怡(AlexLEWIS)校对:何镇汐   什么是 Razor? ...

  8. .net mvc笔记3_Understanding Razor Syntax

    Understanding Razor Syntax MVC3新视图引擎的名字叫做Razor.ASP.NET视图引擎处理web页面,寻找包含在服务器端指令的特殊元素.正如我们前面已经提到的,标准的AS ...

  9. MVC Razor中 如何截断字符串

    有时候显示的内容过长,使用MVC编程时,如何截断显示的内容呢.我知道你肯定有很多办法这样做的,但是在学习MVC时,还是使用一些新的办法做吧> Razor 标记语法编程. @helper Trun ...

随机推荐

  1. 1.HBase In Action 第一章-HBase简介(后续翻译中)

    This chapter covers ■ The origins of Hadoop, HBase, and NoSQL ■ Common use cases for HBase ■ A basic ...

  2. Spring AOP示例代码

    public interface CustomerDao { public void save(); public void update(); } public class CustomerDaoI ...

  3. docker-machine create -d generic 运行的波折过程及遇见的问题

    这是一个愚蠢的学习过程,但是因为觉得过程还是值得记录的,还是写了下来 2>driver = generic 1)在这个过程中使用的都是本地的mac系统,然后尝试在mac本地create -d g ...

  4. scrollIntoView()的用法

    scrollIntoView是一个与页面(容器)滚动相关的API(官方解释),该API只有boolean类型的参数能得到良好的支持(firefox 36+都支持),所以在这里只讨论参数Boolean类 ...

  5. 判断库位是否参与MRP运算

    表 T001L 字段DISKZ (库存地点MRP标识)为空,参与MRP运算,为1不参与.

  6. QQ 的一些URI 协议命令

    //System.Diagnostics.Process.Start(@"C:\Program Files\Tencent\TIM\Bin\Timwp.exe", "te ...

  7. Data Consistency Primer

    云应用通常来说,使用的数据很多都是分散的,来自不同的数据仓库.在这种环境下,管理和保持数据一致性是很复杂的,无论是在并发跟可用性上都可能出问题.开发者有的时候就需要为了强一致性而牺牲可用性了.这也就意 ...

  8. 2017战略No.2:开始电子化记账

    一.懒散的4年 大学毕业后,就没有怎么记账了. 自己花的钱,心里有个大概,但是不能算得很具体. 比如说,2016年,又没有攒几个钱,心里多少有点压抑. 大脑去算账,只能算房租吃饭等金额较大的开销,更多 ...

  9. OFS环境,删除Resource 时出现错误失败,应该如何继续

    From the Windows failover cluster manager,select the group listener, stop it, and delete it.  Do the ...

  10. idea java方法中 传多个参数对象 的复制粘贴快速处理方法

    比如像这种的传多个参数对象,我是直接复制过来,然后把第一个字母改成大写,然后后面的实例对象敲一个第一个字符的小写,回车就直接出来了 在写调用参数的地方,ctrl+p 调出提示,然后按下提示里的实例的第 ...