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

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

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

  1. <ul>
  2. @for (int i = ; i < ; i++) {
  3. <li>@i</li>
  4. }
  5. </ul>

2.Razor 帮助器

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

主要的 Razor C# 语法规则

  • Razor 代码块包含在 @{ ... } 中
  • 内联表达式(变量和函数)以 @ 开头
  • 代码语句用分号结束
  • 变量使用 var 关键字声明
  • 字符串用引号括起来
  • C# 代码区分大小写
  • C# 文件的扩展名是 .cshtml
  1. <html>
  2. <body>
  3. <!-- Single statement block -->
  4. @{ var myMessage = "Hello World"; }
  5.  
  6. <!-- Inline expression or variable -->
  7. <p>The value of myMessage is: @myMessage</p>
  8.  
  9. <!-- Multi-statement block -->
  10. @{
  11. var greeting = "Welcome to our site!";
  12. var weekDay = DateTime.Now.DayOfWeek;
  13. var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
  14. }
  15.  
  16. <p>The greeting is: @greetingMessage</p>
  17. </body>
  18. </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.对象(内置对象、自定义对象)

  1. <table border="1">
  2. <tr>
  3. <th width="100px">Name</th>
  4. <td width="100px">Value</td>
  5. </tr>
  6. <tr>
  7. <td>Day</td><td>@DateTime.Now.Day</td>
  8. </tr>
  9. <tr>
  10. <td>Hour</td><td>@DateTime.Now.Hour</td>
  11. </tr>
  12. <tr>
  13. <td>Minute</td><td>@DateTime.Now.Minute</td>
  14. </tr>
  15. <tr>
  16. <td>Second</td><td>@DateTime.Now.Second</td>
  17. </tr>
  18. </td>
  19. </table>

5.If 和 Else条件

  1. @{
  2. var txt = "";
  3. if(DateTime.Now.Hour > 12)
  4. {txt = "Good Evening";}
  5. else
  6. {txt = "Good Morning";}
  7. }
  8. <html>
  9. <body>
  10. <p>The message is @txt</p>
  11. </body>
  12. </html>

6.读取用户输入

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

  1. @{
  2. var totalMessage = "";
  3. if(IsPost)
  4. {
  5. var num1 = Request["text1"];
  6. var num2 = Request["text2"];
  7. var total = num1.AsInt() + num2.AsInt();
  8. totalMessage = "Total = " + total;
  9. }
  10. }
  11. <!DOCTYPE html>
  12. <html>
  13. <body style="background-color: beige; font-family: Verdana, Arial;">
  14. <form action="" method="post">
  15. <p><label for="text1">First Number:</label><br>
  16. <input type="text" name="text1"></p>
  17. <p><label for="text2">Second Number:</label><br>
  18. <input type="text" name="text2"></p>
  19. <p><input type="submit" value=" Add "></p>
  20. </form>
  21. <p>@totalMessage</p>
  22. </body>
  23. </html>

7. C# 变量

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

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

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

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

  1. // Using the var keyword:
  2. var greeting = "Welcome";
  3. var counter = ;
  4. var today = DateTime.Today;
  5.  
  6. // Using data types:
  7. string greeting = "Welcome to RUNOOB.COM";
  8. int counter = ;
  9. DateTime today = DateTime.Today;

数据类型:

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

运算符:略。。。

转换数据类型:

8.C# 循环和数组

For 循环

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

  1. <html>
  2. <body>
  3. @for(var i = ; i < ; i++)
  4. {
  5. <p>Line @i</p>
  6. }
  7. </body>
  8. </html>

For Each 循环

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

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

  1. <html>
  2. <body>
  3. <ul>
  4. @foreach (var x in Request.ServerVariables)
  5. {<li>@x</li>}
  6. </ul>
  7. </body>
  8. </html>

While 循环

  1. <html>
  2. <body>
  3. @{
  4. var i = ;
  5. while (i < )
  6. {
  7. i += ;
  8. <p>Line @i</p>
  9. }
  10. }
  11. </body>
  12. </html>

数组

  1. @{
  2. string[] members = {"Jani", "Hege", "Kai", "Jim"};
  3. int i = Array.IndexOf(members, "Kai")+;
  4. int len = members.Length;
  5. string x = members[-];
  6. }
  7. <html>
  8. <body>
  9. <h3>Members</h3>
  10. @foreach (var person in members)
  11. {
  12. <p>@person</p>
  13. }
  14. <p>The number of names in Members are @len</p>
  15. <p>The person at position is @x</p>
  16. <p>Kai is now in position @i</p>
  17.  
  18. </body>
  19. </html>

9.C# 逻辑条件

If 条件

  1. @{var price=;}
  2. <html>
  3. <body>
  4. @if (price>)
  5. {
  6. <p>The price is too high.</p>
  7. }
  8. </body>
  9. </html>

Else 条件

  1. @{var price=;}
  2. <html>
  3. <body>
  4. @if (price>)
  5. {
  6. <p>The price is too high.</p>
  7. }
  8. else
  9. {
  10. <p>The price is OK.</p>
  11. }
  12. </body>
  13. </html>

Else If 条件

  1. @{var price=;}
  2. <html>
  3. <body>
  4. @if (price>=)
  5. {
  6. <p>The price is high.</p>
  7. }
  8. else if (price> && price<)
  9. {
  10. <p>The price is OK.</p>
  11. }
  12. else
  13. {
  14. <p>The price is low.</p>
  15. }
  16. </body>
  17. </html>

Switch 条件

  1. @{
  2. var message="";
  3. var weekday=DateTime.Now.DayOfWeek;
  4. var day=weekday.ToString()
  5. }
  6. <html>
  7. <body>
  8. @switch(day)
  9. {
  10. case "Monday":
  11. message="This is the first weekday.";
  12. break;
  13. case "Thursday":
  14. message="Only one day before weekend.";
  15. break;
  16. case "Friday":
  17. message="Tomorrow is weekend!";
  18. break;
  19. default:
  20. message="Today is " + day;
  21. break;
  22. }
  23. <p>@message</p>
  24. </body>
  25. </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. 【转】Android实战技巧之四十九:Usb通信之USB Host

    零 USB背景知识 USB是一种数据通信方式,也是一种数据总线,而且是最复杂的总线之一. 硬件上,它是用插头连接.一边是公头(plug),一边是母头(receptacle).例如,PC上的插座就是母头 ...

  2. bip44

    BIP: Layer: Applications Title: Multi-Account Hierarchy for Deterministic Wallets Author: Marek Pala ...

  3. QGis C++ 开发之创建临时图层并添加要素

            开发环境:Win10 + VS2010 + Qt 4.8.6 + QGis 2.14.4 其实本文实现的功能类似于QGis中“添加文本数据图层”的一个简化版,本文不会涉及到对话框的使用 ...

  4. WorldWind源码剖析系列:视景体类Frustum

    PluginSDK中的视景体类Frustum是三维计算机图形学中的概念,主要用来描述透视投影的过程.三维计算机图形学中关于三维物体的渲染,Direct3D和OpenGL都是先通过对现实世界中的场景先进 ...

  5. Mac下用户名、计算机名、个人目录名修改

    1.修改mac用户名 [系统偏好设置]->[用户与群组]->点开左下方的小锁->解锁后再用户头像右击,进入到高级选项->进行设置即可 2.修改mac计算机名 [系统偏好设置]- ...

  6. Python2.7-math, cmath

    math,cmath 模块,提供了用C标准定义的数学函数,简单说就是效率较高,cmath 不仅有 math 的功能,还增加了计算复数的函数.这两个模块返回的值基本上为 float 类型,除非明确指出返 ...

  7. Elasticsearch学习笔记1

    Json (JavaScript Object Notation),即JavaScript对象标记法,当前十分流行和常见的互联网数据传输格式,尤其是在前端领域.Json是一种用于数据交换的文本格式,目 ...

  8. Ubuntu双系统无法挂载Windows10 硬盘的解决方法

    我的电脑是在Windows 10下安装的Ubuntu 14.04双系统,今天进入Ubuntu系统访问Windows 10 磁盘,出现如下错误: Error mounting /dev/sda1 at ...

  9. # 2017-2018-2 20155231《网络对抗技术》实验九: Web安全基础实践

    2017-2018-2 20155231<网络对抗技术>实验九: Web安全基础实践 实验要求: 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验内容: ( ...

  10. 20155311高梓云《网络对抗》逆向及Bof基础

    20155311高梓云<网络对抗>逆向及Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任 ...