Razor - 标记简述
详情请参考: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 - 标记简述的更多相关文章
- Razor标记语言介绍
什么是Razor? Razor的中文意思是"剃刀",它不是编程语言,只是一种服务器段的标记语言,与PHP和ASP类似 Razor允许你向网页中嵌入基于服务器的代码(Visu ...
- ASP.NET Razor - 标记
目录 什么是 Razor? Razor 帮助器 ASP.NET Razor - C# 和 VB 代码语法 主要的 Razor C# 语法规则 它是如何工作的? 使用对象 If 和 Else条件 读取用 ...
- ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考
原文:Razor Syntax Reference 作者:Taylor Mullen.Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:何镇汐 什么是 Razor? Razor 是一 ...
- Razor基础语法一
目录: 什么是Razor? 渲染HTML Razor语法 隐式 Razor 表达式 显式 Razor 表达式 什么是Razor? Razor是基于服务端代码转换成网页的标记语法.语法主要包括Razor ...
- ASP.NET Razor——Razor 简介
ASP.NET Razor - 标记 Razor 不是一种编程语言.它是服务器端的标记语言. 什么是 Razor? Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 ...
- 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 ...
- Razor 语法
Razor 语法 原文:Razor Syntax Reference作者:Taylor Mullen.Rick Anderson翻译:刘怡(AlexLEWIS)校对:何镇汐 什么是 Razor? ...
- .net mvc笔记3_Understanding Razor Syntax
Understanding Razor Syntax MVC3新视图引擎的名字叫做Razor.ASP.NET视图引擎处理web页面,寻找包含在服务器端指令的特殊元素.正如我们前面已经提到的,标准的AS ...
- MVC Razor中 如何截断字符串
有时候显示的内容过长,使用MVC编程时,如何截断显示的内容呢.我知道你肯定有很多办法这样做的,但是在学习MVC时,还是使用一些新的办法做吧> Razor 标记语法编程. @helper Trun ...
随机推荐
- POJ 3415 Common Substrings 【长度不小于 K 的公共子串的个数】
传送门:http://poj.org/problem?id=3415 题意:给定两个串,求长度不小于 k 的公共子串的个数 解题思路: 常用技巧,通过在中间添加特殊标记符连接两个串,把两个串的问题转换 ...
- Docker技术入门与实战 第二版-学习笔记-9-Docker Compose 项目-2-Compose 命令说明
Compose 命令说明 1)命令对象与格式 对于 Compose 来说,大部分命令的对象既可以是项目本身,也可以指定为项目中 的服务或者容器.如果没有特别的说明,命令对象将是项目,这意味着项目中所有 ...
- leetcode25—Search Insert Position
Given a sorted array and a target value, return the index if the target is found. If not, return the ...
- PAT B1050 螺旋矩阵 (25 分)
本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”.所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N:m ...
- flask 蓝本(blueprint)
蓝本(blueprint) 一.基本概念: 将视图方法模块化,既当大量的视图函数放在一个文件中,很明显是不合适,最好的方案是根据功能将路由合理的划分到不同的文件中:而蓝本就是为了解决这个问题而出现的. ...
- 生成定长随机数-可做3des密钥
3DES加解密需要密钥支持,要求为8的倍数,一般会使用32位的字母数字随机字符串作为密钥. 下面这个工具类,可用做key值的生成,详见下方代码: package test; import java.u ...
- 20155209林虹宇 Exp6 信息搜集与漏洞扫描
Exp6 信息搜集与漏洞扫描 1.信息收集 1.1通过DNS和IP挖掘目标网站的信息 whois查询 进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务 ...
- 20155334 曹翔 Exp3 免杀原理与实践
20155334 曹翔 Exp3 免杀原理与实践 小记:这次实验,困难重重,失败练练,搞得我们是心急如焚,焦头烂额,哭爹喊娘 一.基础问题回答 杀软是如何检测出恶意代码的? 每个杀软都有自己的检测库, ...
- Repeter中列相同数据合并
<asp:Repeater runat="server" ID="rptInfo" onitemdatabound="Repeater1_Ite ...
- python 翻转棋(othello)
利用上一篇的框架,再写了个翻转棋的程序,为了调试minimax算法,花了两天的时间. 几点改进说明: 拆分成四个文件:board.py,player.py,ai.py,othello.py.使得整个结 ...