1 简述

Razor, 是服务器端的标记语言。
Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中。
基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。
Razor 是基于 ASP.NET 的,是为创建 Web 应用程序而设计的。它具有传统 ASP.NET 的功能,但更容易使用并且更容易学习。

Razor 语法
    Razor 使用了与 PHP 和经典 ASP 相似的语法。

Razor 帮助器
    ASP.NET 帮助器是通过几行简单的 Razor 代码即可访问的组件。
    您可以使用 Razor 语法构建自己的帮助器,或者使用内建的 ASP.NET 帮助器。

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

2 主要的 Razor C# 语法规则

Razor 代码块包含在 @{ ... } 中
    内联表达式(变量和函数)以 @ 开头
    代码语句用分号结束
    变量使用 var 关键字声明
    字符串用引号括起来
    C# 代码区分大小写
    C# 文件的扩展名是 .cshtml

3 使用对象

ASP.NET Date 对象有一个 Now 属性(写成 Date.Now),Now 属性有一个 Day 属性(写成 Date.Now.Day)。访问 Date 对象的属性的写法示例,
    ......
    <td>Day</td><td>@DateTime.Now.Day</td>
    <td>Hour</td><td>@DateTime.Now.Hour</td>
    <td>Minute</td><td>@DateTime.Now.Minute</td>
    <td>Second</td><td>@DateTime.Now.Second</td>
    ......

4 读取用户输入

动态网页的另一个重要特点是,可以读取用户输入。
输入是通过 Request[] 功能读取的,并且传送输入数据是经过 IsPost 条件判断的:

实例
@{
var totalMessage = "";
if(IsPost)
{
var num1 = Request["text1"];
var num2 = Request["text2"];
var total = num1.AsInt() + num2.AsInt();
totalMessage = "Total = " + total;
}
}
<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>

5 ASP.NET Razor - C# 变量

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

var greeting = "Welcome to RUNOOB.COM";
var counter = 103;
var today = DateTime.Today;

string greeting = "Welcome to RUNOOB.COM";
int counter = 103;
DateTime today = DateTime.Today;

6 转换数据类型

方法     描述     
AsInt()
IsInt()     转换字符串为整数

AsFloat()
IsFloat()     转换字符串为浮点数

AsDecimal()
IsDecimal()     转换字符串为十进制数

AsDateTime()
IsDateTime()    转换字符串为 ASP.NET DateTime 类型

AsBool()
IsBool()     转换字符串为布尔值

ToString()     转换任何数据类型为字符串。

7 C# 循环和数组

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

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

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

8 C# 逻辑条件

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

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

@{
var weekday=DateTime.Now.DayOfWeek;
var day=weekday.ToString();
var message="";
}
<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>

ASP.NET Razor (标记)语言概要相关推荐

  1. ASP.NET Razor – 标记简介

    Razor 不是一种编程语言,它是服务器端的标记语言,Razor 是基于 ASP.NET 的,是为创建 Web 应用程序而设计的. 什么是 Razor? Razor 是一种标记语法,可以让您将基于服务 ...

  2. ASP.NET Razor – C# 逻辑条件简介

    Razor 不是一种编程语言.它是服务器端的标记语言.C# 允许根据条件执行代码. If 条件 C# 允许根据条件执行代码. 使用 if 语句来判断条件.根据判断结果,if 语句返回 true 或者 ...

  3. 安全性断言标记语言(SAML)介绍

    简介 安全是所有Web项目在设计时都要考虑的一个重要因素.无论是选择最短口令,决定何时使用SSL加密HTTP会话,还是通过自动登录cookie来识别用户,都经常要付出重大的设计努力,以保护用户的身份信 ...

  4. “可扩展标记语言”(XML) 提供一种描述结构化数据的方法。

    摘要: "可扩展标记语言"(XML) 提供一种描述结构化数据的方法.与主要用于控制数据的显示和外观的 HTML 标记不同,XML 标记用于定义数据本身的结构和数据类型. XML 使 ...

  5. 用html标记语言,HTML标记语言——引用

    HTML标记语言--引用 互联网   发布时间:2008-10-17 18:55:18   作者:佚名   我要评论 点击这里返回网页教学网 HTML教程 栏目. 上文:标记语言--邪恶表格 原文出处 ...

  6. 计算机语言分类:机器语言、汇编语言、标记语言、脚本语言、编程语言

    一.计算机语言分类: 1. 机器语言 机器语言是计算机最原始的语言,是由0和1的代码构成,cpu在工作的时候只认识机器语言,即0和1的代码. 2. 汇编语言 汇编语言,即为一种低级语言,它用人类容易记 ...

  7. HTML(超文本标记语言)

    目录 1.HTML的作用: 2.文档结构: 3.基础标签: 4.字符实体: 5.五大主流浏览器: 1.HTML的作用: 是专门给文本添加语义的,而不是修改文本形式,这些用于描述其他文本语义的文本,我们 ...

  8. ASP.NET Razor 简介

    ASP.NET Razor 简介 1. 什么是Razor ? Razor 不是一种编程语言,而是一种标记语法,可以将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中. Razor 是 ...

  9. html5知识点:超文本标记语言编程

    超文本标记语言,标准通用标记语言下的一个应用. "超文本"就是指页面内可以包含图片.链接,甚至音乐.程序等非文字元素. 超文本标记语言的结构包括"头"部分(英语 ...

最新文章

  1. xcode symbol(s) not found for architecture i386错误解决方法
  2. Matlab中disp、fprintf和sprintf
  3. 为 hexo 博客添加本地搜索功能
  4. 教师计算机考试登记网,计算机等级考试及计算机资格考试
  5. 中国国民休闲状况调查(2020)
  6. 【温故知新】c#事件event
  7. 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)...
  8. JavaScript数组去重的常用方法
  9. gcc/g++ 使用 tricks
  10. python对象属性是与数据有关的项目_python之对象产生,属性(定义的值)的查找原则,对象绑定关系...
  11. LeetCode刷题——209. 长度最小的子数组
  12. Centos7.7下编译安装 cmake
  13. Java 度分秒转经纬度,经纬度转度分秒,度分转经纬度,经纬度转度分
  14. 码龄10年工作6年的搬砖小哥,最常访问的学习网站都在这里了
  15. 考试用计算机反思800字,期中考试总结反思作文800字
  16. kui 组件化库思路(来啦,老弟,持续更新哦,部署gitpages,添加issue)
  17. Windows 10 on ARM, version 21H2 (released Nov 2021) ARM64 简体中文版、英文版(企业版)下载
  18. 硬盘分区,格式化分区,删除分区
  19. TP5的自动过滤方法
  20. SLAM综述阅读笔记二:Simultaneous Localization and Mapping: A Survey of Current Trends in Autonomous(2017)

热门文章

  1. [转载] FatFs模块功能配置选项
  2. Windows XP硬盘安装Ubuntu 11.10双系统全程图解
  3. 关于Apache mod_rewrite的中文配置、使用和语法介绍(实现URL重写和防盗链功能)
  4. Salesforce Service Cloud 十大功能亮点
  5. 文件上传——选择文件之后自动上传||文件上传的后端代码
  6. 实验12:引用外部属性文件★(spring管理连接池);
  7. openmv 飞机巡线
  8. [学习笔记]数字电路技术
  9. CTFshow 反序列化 web254
  10. win7下更改设置时间权限