Razor - 标记简述

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

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

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

    @for (int i = 0; i < 10; i++) {
  • @i
  • }

2.Razor 帮助器

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

主要的 Razor C# 语法规则

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



@{ var myMessage = "Hello World"; }


The value of myMessage is: @myMessage

@{ var greeting = "Welcome to our site!"; var weekDay = DateTime.Now.DayOfWeek; var greetingMessage = greeting + " Here in Huston it is: " + weekDay; }

The greeting is: @greetingMessage

主要的 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">Nameth>
<td width="100px">Valuetd>
tr>
<tr>
<td>Daytd><td>@DateTime.Now.Daytd>
tr>
<tr>
<td>Hourtd><td>@DateTime.Now.Hourtd>
tr>
<tr>
<td>Minutetd><td>@DateTime.Now.Minutetd>
tr>
<tr>
<td>Secondtd><td>@DateTime.Now.Secondtd>
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 @txtp>
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>@totalMessagep>
body>
html>

7. C# 变量

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

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

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

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

// Using the var keyword:
var greeting = "Welcome";
var counter = 103;
var today = DateTime.Today;

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

数据类型:

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

运算符:略。。。

转换数据类型:

Razor - 标记简述_第1张图片

8.C# 循环和数组

 

For 循环

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



@for(var i = 10; i < 21; i++)
{

Line @i

}

For Each 循环

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

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



    @foreach (var x in Request.ServerVariables) {
  • @x
  • }

While 循环



@{
var i = 0;
while (i < 5)
    {
    i += 1;
    

Line @i

} }

数组

@{
string[] members = {"Jani", "Hege", "Kai", "Jim"};
int i = Array.IndexOf(members, "Kai")+1;
int len = members.Length;
string x = members[2-1];
}


Members

@foreach (var person in members) {

@person

}

The number of names in Members are @len

The person at position 2 is @x

Kai is now in position @i

9.C# 逻辑条件

If 条件

@{var price=50;}


@if (price>30)
  {
  

The price is too high.

}

Else 条件

@{var price=20;}


@if (price>30)
    {
    

The price is too high.

} else {

The price is OK.

}

Else If 条件

@{var price=25;}


@if (price>=30)
{

The price is high.

} else if (price>20 && price<30) {

The price is OK.

} else {

The price is low.

}

Switch 条件

@{
var message="";
var weekday=DateTime.Now.DayOfWeek;
var day=weekday.ToString()
}


@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;
}

@message

 

你可能感兴趣的:(Razor - 标记简述)