zoukankan      html  css  js  c++  java
  • ASP.NET Razor

      cshtml是什么文件?它跟.html有什么关系?

    cshtml是Razor在c#中文件的拓展名,要学习Razor,先了解以下几个问题:

    1:什么是ASP?

    •ASP:Active Server Pages(动态服务器页面)

    是MicroSoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的HTML(Hyper Text Markup Language,超文本置标语言)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。

    •ASP 是在 IIS 中运行的程序

    •ASP 文件与 HTML 文件类似

    •ASP 文件可包含文本、HTML、XML 和脚本

    •ASP 文件中的脚本可在服务器上执行

    •ASP 文件的文件扩展名是 ".asp"

    •ASP与HTML的区别:

    当浏览器请求某个 HTML 文件时,服务器会返回这个文件;

    当浏览器请求某个 ASP 文件时,IIS 将这个请求传递给 ASP 引擎。ASP 引擎会逐行地读取这个 ASP 文件,并执行文件中的脚本。最后,ASP 文件将以纯 HTML 的形式返回到浏览器。

    2:什么是ASP.NET?

    •ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。

    •ASP.NET 是一种服务端脚本技术:能够使(嵌入网页中的)脚本由Internetserver运行。

    •ASP.NET 支持三种不同的开发模式:
    Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体)

    •ASP.NET 与经典 ASP 是不兼容,但 ASP.NET 可能包括经典 ASP。

    •ASP.NET 具有更好的语言支持,有一大套的用户控件和基于 XML 的组件,并集成了用户身份验证。

    •ASP.NET 页面的扩展名是 .aspx ,通常是用 VB (Visual Basic) 或者 C# (C sharp) 编写。

    •在 ASP.NET 中的控件可以用不同的语言(包括 C++ 和 Java)编写。


    好了,现在可以讨论一下什么是ASP.NET Razor了?

    1:概述:

    •Razor 是一种同意您向网页中嵌入基于server的代码(Visual Basic和 C#)的标记语法。就像是一种server代码和HTML代码混写的代码模板。类似于没有后置代码的.aspx文件。

    •Razor支持两种文件类型,各自是.cshtml和.vbhtml,当中.cshtml 的server代码使用了c#的语法,.vbhtml的server代码使用了vb.net的语法。  

    •Razor的发布是和MVC一起的,作为MVC的视图模板引擎。

    •在ASP.NET MVC模式中,我们的视图引擎选择有两种:ASPX(ASP.NET),Razor。

    •工作:当网页被写入浏览器时,基于server的代码可以创建动态内容。在网页载入时,server在向浏览器返回页面之前,会运行页面内的基于server代码。因为是在server上运行。这样的代码能运行复杂的任务。比方訪问数据库。


    2:语法:

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

     1 <html>
     2 <body>
     3 <!-- Single statement block 单语句块--> 
     4 @{ var myMessage = "Hello World"; }
     5 <!-- Inline expression or variable 内联表达式或变量-->
     6 <p>The value of myMessage is: @myMessage</p> 
     7 <!-- Multi-statement block 多语句块-->
     8 @{
     9 var greeting = "Welcome to our site!";
    10 var weekDay = DateTime.Now.DayOfWeek;
    11 var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
    12 }
    13 <p>The greeting is: @greetingMessage</p>
    14 </body>
    15 </html>

    补充:@{}就类似于.aspx中的<%%>

    总结:Razor这种标记语法就是将server代码嵌入到html里面,在ASP.NET MVC中使用。

    在项目中的使用之后再整理

  • 相关阅读:
    Introduction to Monte Carlo Tree Search (蒙特卡罗搜索树简介)
    论文笔记:Mastering the game of Go with deep neural networks and tree search
    论文笔记之:Continuous Deep Q-Learning with Model-based Acceleration
    论文阅读之:PRIORITIZED EXPERIENCE REPLAY
    常见半监督方法 (SSL) 代码总结
    论文笔记之:Visual Tracking with Fully Convolutional Networks
    论文笔记之:RATM: RECURRENT ATTENTIVE TRACKING MODEL
    初始 DQN 程序 所遇到的问题
    论文笔记之:DeepCAMP: Deep Convolutional Action & Attribute Mid-Level Patterns
    论文笔记之:Heterogeneous Image Features Integration via Multi-Modal Semi-Supervised Learning Model
  • 原文地址:https://www.cnblogs.com/rulasann/p/9228983.html
Copyright © 2011-2022 走看看