zoukankan      html  css  js  c++  java
  • MVC学习笔记2

    Razor 同时支持 C# (C sharp) 和 VB (Visual Basic)。

    C# 的主要 Razor 语法规则

    • Razor 代码封装于 @{ ... } 中
    • 行内表达式(变量和函数)以 @ 开头
    • 代码语句以分号结尾
    • 字符串由引号包围
    • C# 代码对大小写敏感
    • C# 文件的扩展名是 .cshtml

    C# 实例

    <!-- 单行代码块 -->
    @{ var myMessage =	"Hello World"; }
    
    <!-- 行内表达式或变量 -->
    <p>The value of myMessage is: @myMessage</p> 
    
    <!-- 多行语句代码块 -->
    @{
    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>

    VB 的主要 Razor 语法规则

    • Razor 代码块被包围在 @Code ... End Code 中
    • 行内表达式(变量和函数)以 @ 开头
    • 以 Dim 关键词来声明变量
    • 字符串由引号包围
    • VB 对大小写不敏感
    • VB 文件的扩展名是 .vbhtml

    实例

    <!-- 单行代码块 -->
    @Code dim myMessage = "Hello World" End Code
     
    <!-- 行内表达式或变量 -->
    <p>The value of myMessage is: @myMessage</p> 
     
    <!-- 多行语句代码块 -->
    @Code
    dim greeting = "Welcome to our site!" 
    dim weekDay = DateTime.Now.DayOfWeek 
    dim greetingMessage = greeting & " Here in Huston it is: " & weekDay
    End Code 
    
    <p>The greeting is: @greetingMessage</p>

    如何工作?

    Razor 是一种简单的编程语法,用于在网页中嵌入服务器端代码。

    Razor 语法基于 ASP.NET 框架,该框架是微软的 .NET 框架特别为 web 应用程序开发而设计的组成部分。

    Razor 语法赋予您所有 ASP.NET 的能力,但是使用了简化过的语法,如果您是初学者,则更容易学习,如果您是专家,则更有利于提高生产力。

    Razor 网页可被描述为带有两种内容的 HTML 页面:HTML 内容和 Razor 代码。

    当服务器读取这种页面后,在将 HTML 页面发送到浏览器之前,会首先运行 Razor 代码。这些在服务器上执行的代码能够完成浏览器中无法完成的任务,比如访问服务器数据库。服务器代码能够在页面被发送到浏览器之前创建动态的 HTML 内容。从浏览器来看的话,由服务器代码生成的 HTML 与静态 HTML 内容没有区别。

    使用 Razor 语法的 ASP.NET 网页拥有特殊的文件扩展名 cshtml(使用 C# 的 Razor 语法)或者 vbhtml(使用 VB 的 Razor)。

    与对象打交道

    服务器代码常常涉及对象。

    "Date" 对象是典型的 ASP.NET 内建对象,但是也可以自行定义对象,一张网页,一个文本框,一个文件,或者一条数据库记录,等等。

    对象可以拥有能够执行的方法。数据库记录可以提供“保存”方法,图像对象可以有“旋转”方法,电子邮件对象可以提供“发送”方法,以此类推。

    对象也可以有描述其特点的属性。数据库记录可以有 FirstName 和 LastName 属性。

    ASP.NET Date 对象拥有 Now 属性(写为 Date.Now),Now 属性有 Day 属性(写为 Date.Now.Day)。下面的例子展示如何访问 Date 对象的某些属性:

    实例

    <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>

    If 和 Else 条件

    动态网页的重要特性是基于条件来确定执行的动作。

    实现这一点的常用方法是使用 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>

    读取用户输入

    动态网页的另一个重要特性是读取用户的输入。

    由 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=" 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>

    摘自:http://www.w3chtml.com/aspnet/razor-syntax.html
  • 相关阅读:
    ruby 二进制转十进制 Integer("0b101") = 5
    开始菜单和我的文档的我的图片及我的音乐变成 my pictrues 正常图标了
    ruby watir 莫名其妙的错误
    Excel SaveAS是去掉提示框
    apache && jboss安装
    ruby require include的区别
    ruby控制鼠标
    This error is raised because the column 'type' is reserved for storing the class in case of inheritance
    用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
    ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description!
  • 原文地址:https://www.cnblogs.com/chenjiazhu/p/4447221.html
Copyright © 2011-2022 走看看