.NET开发:ASP .NET Core与Razor笔记

文章发布时间:

最后更新时间:

文章总字数:
846

预计阅读时间:
3 分钟

摘要

本文为自用ASP .NET Core与Razor笔记
知识点内容根据各个教程收集整理。
所有教程版权归各自作者所有。
这里只做临时记录,对于笔记相对完整的框架/组件,将单独分离出来形成独立文档。

ASP.NET Core

MVC:

  • 控制器:一般由Controller类实现
  • 视图:一般为.cshtml文件
  • 模型:只有属性的普通C#类

视图→浏览器提交的请求→模型→控制器→处理→模型→视图
(渲染:Render)

Razor

ASP.NET:微软把这个新的框架叫:Razor Pages

wwwroot静态资源文件夹

首先,Razor Pages项目中多了一个wwwroot的文件夹,这个文件夹中,主要存放网站的静态资源,如:

  • css:网站样式文件
  • images:网站图片资源文件
  • js:网站javascript脚本文件
  • lib:每三方的js库等
  • favicon.ico: 网站的图标

主要文件

其次,Razor Pages项目中,没有了Global.asax以及Web.config这样的文件,但多了几个其他主要的文件,它们分别为:

  • appsetting.json:应用程序配置文件,类似于ASP.NET应用程序中的Web.config配置文件。

  • Program.cs:这是.NET Core的程序入口文件,其他包含了一个程序的入口方法:public static void Main(string[] args)

  • Startup.cs: .NET Core应用程序启动配置项目文件,在.NET Core CLI命令行工具或者Visual Studio为我们创建好ASP.NET Core应用程序之后,程序入口文件Program.cs会默认调用Startup.cs类中的ConfigureServices 和 Configure 方法,以初始化程序的各种配置。

  • Pages目录为默认文档路径,这是 Razor Pages项目中的约定,对于 /Home/Index 这个页面来说,它对应的是 Pages 文件夹中的 Index.cshtml 这个视图文件。其中,我们还看到一个 Index.cshtml.cs 的文件,这个文件是用来后端编码的,类似于我们传统 Webform 中的 .aspx.cs 文件。

母版页与启动页

  • _ViewStart.cshtml 是整个项目页面渲染的启动视图,我们可以在此视图中指定项目的默认视图母版页面是哪个。

  • _Layout.cshtml 是整个Razor Pages 项目的默认母版页,如果项目中存在 _Layout.cshtml 这个视图母版页,则在页面没有特别指定 Layout属性的情况下,会调用此母版页。

  • _ViewImports.cshtml 用于导入项目或者子视图文件夹中的默认资源,以方便统一维护和管理等。

Razor 语法

Razor 支持 C#,并使用 @ 符号从 HTML 转换为 C#。 Razor 计算 C# 表达式,并将它们呈现在 HTML 输出中。当 @ 符号后跟 Razor 保留关键字时,它会转换为 Razor 特定标记。 否则会转换为纯 C#。

来源详见ASP.NET Core入门系列教程

主要的Razor C#语法

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

实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
@*单行*@
@{ var myMessage = "Hello World"; }

<!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage</p>

@*多行*@
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Today is: " + weekDay;
}
<p>The greeting is: @greetingMessage</p>