• Razor


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

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

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

    <ul>
    @for (int i = 0; i < 10; 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 = 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......

    运算符:略。。。

    转换数据类型:

    8.C# 循环和数组

    For 循环

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

    <html>
    <body>
    @for(var i = 10; i < 21; 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 = 0;
    while (i < 5)
        {
        i += 1;
        <p>Line @i</p>
        }
    }
    </body>
    </html>

    数组

    @{
    string[] members = {"Jani", "Hege", "Kai", "Jim"};
    int i = Array.IndexOf(members, "Kai")+1;
    int len = members.Length;
    string x = members[2-1];
    }
    <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 2 is @x</p>
    <p>Kai is now in position @i</p>
    
    </body>
    </html>

    9.C# 逻辑条件

    If 条件

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

    Else 条件

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

    Else If 条件

    @{var price=25;}
    <html>
    <body>
    @if (price>=30)
    {
    <p>The price is high.</p>
    }
    else if (price>20 && price<30) 
    {
    <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>
  • 相关阅读:
    C++头文件,预处理详解
    在VS2013中查看C/C++预处理后的文件
    使用apache.lang包安全简洁地操作Java时间
    FileInputStream 和 FileOutputStream
    【转】彻底搞清计算结构体大小和数据对齐原则
    NDK学习笔记-gdb调试
    NDK学习笔记-gdb调试
    NDK学习笔记-多线程与生产消费模式
    NDK学习笔记-多线程与生产消费模式
    Android-Makefile
  • 原文地址:https://www.cnblogs.com/57rongjielong/p/9178134.html
Copyright © 2020-2023  润新知