• ASP.NET Razor


    一、为什么要学习Razor?

    可以让服务器代码(就是c#和vb)嵌入到网页中,也就是说这个页面中包含html代码和C#(vb)代码。基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。当一个网页被请求时,服务器在返回页面给浏览器之前先执行页面中的基于服务器的代码。通过服务器的运行,代码能执行复杂的任务,比如进入数据库。

    二、Razor代码的语法

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

    下面请看一个案例:

    (1)创建一个以.cshtml结尾的页面:

    (2)然后代码

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        @{
            var message = "李白是最帅的,没有之一";
            
            }
        <p>对于他的粉丝来说:@message</p>
        @{
            var name = "李白";
            string techno = "青莲剑歌";
            string action = name + "在面对十万敌人时,毫无惧色,使出了:" + techno + "技能,横扫八方";
            }
        <p>@action</p>
    </body>
    </html>

    使用对象

    比如说内置对象Date:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
    
        <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>
        </table>
    </body>
    </html>

    变量

    变量是用来存储数据的。一个变量的名称必须以字母字符开头,并且不能包含空格或者保留字符。一个变量可以是一个指定的类型,表示它所存储的数据类型。string 变量存储字符串值("Welcome to RUNOOB.COM"),integer 变量存储数字值(103),date 变量存储日期值,等等。变量使用 var 关键字声明,或通过使用类型(如果您想声明类型)声明,但是 ASP.NET 通常能自动确定数据类型。

      @{
            var message = "李白是最帅的,没有之一";
            string name = "李白";
            }

    转换数据类型

    从一种数据类型转换到另一种数据类型,有时候是很有用的。最常见的例子是将字符串输入转换为另一种类型,如整数或者日期。

    一般规则下,都是将用户输入看做字符串处理,即使用户输入了数字。因此数值输入必须被转换成数字,然后才能将其用于计算。

    下面列出了常用的转换方法:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body style="background-color: beige; font-family: Verdana, Arial;">
    @{
    var totalMessage = "";
    if(IsPost)
        {
        var num1 = Request["text1"];
        var num2 = Request["text2"];
       //将string类型转换成为int类型
        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>

    循环

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <!--
            For 循环
    
            如果需要重复运行相同的语句,您可以编写一个循环。
    
            如果您能够确定循环的次数,则可以使用 for 循环。这种循环类型是专门为计数或反向计数设计的: 
            -->
        @for(int i = 0;i< 20;i++)
        {  <p>Line :@i</p>}
    
        <!--
            For Each 循环
    
            如果您需要处理集合或数组,则通常要用到 for each 循环。
    
            集合是一组相似的对象,for each 循环允许您在每个项目上执行一次任务。for each 循环会遍历集合直到完成为止。
    
            下面的例子遍历 ASP.NET Request.ServerVariables 集合。
            -->
        <ul>
         
            @foreach(var x in Request.ServerVariables)
            {
                <p>@x</p>
            }
    
    
        </ul>
        <!--
            while 是一种通用的循环。
    
            while 循环以关键词 while 开始,后面跟括号,其中定义循环持续的长度,然后是要循环的代码块。
    
            while 循环通常会对用于计数的变量进行增减。
    
            在下面的例子中,循环每运行一次,+= 运算符就向变量 i 增加 1-->
    
        @{
            var j = 0;
            while (j < 5)
                {
                j += 1;
                <p>Line #@j</p>
                } 
    }
    
    </body>
    </html>

    循环综合实例

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
         @{
    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>  
    </body>
    </html>
  • 相关阅读:
    招聘面试—关于Mysql的一点儿总结
    情景linux—不曾了解的cat用法
    情景linux--shell如何实现多线程?
    情景linux--如何解决read命令产生的硬编码问题
    情景linux--如何优雅地退出telnet
    性能测试-概念篇-性能测试分类
    情景linux--如何摆脱深路径的频繁切换烦恼?
    TCP--telnet为何在127s后返回?
    你为什么必须(从现在开始就)掌握linux
    Cookie/Session机制详解
  • 原文地址:https://www.cnblogs.com/Mrtsp/p/10395056.html
Copyright © 2020-2023  润新知