第二章 入门
第二章通过一个最简单的例子,了解创建和 asp.net core 程序的过程,以及熟悉一下路由。作为入门来说,建议还是在 Visual studio 环境下创建项目以及运行项目,减少学习过程钟的挫败感。
之前写过创建 asp.net core 项目的过程,重新看了一下,觉得还是很清楚的,所以这里就不再重复细节。asp.net core练手小项目(01) - 从 mvc 开始_stone0823的博客-CSDN博客_asp.net core 项目
创建一个 asp.net core empty 项目,更容易了解代码的细节,加深对框架的理解。如果使用 mvc 框架,首先修改 Startup.cs,一共有两处修改:
第一处修改可以理解为 将 MVC 服务添加到 IServiceCollection
第二处修改是定义默认的路由规则:
路由 (routing) 用于决定如何处理请求的规则,上面的代码创建并启动一个默认规则。默认的 Controller 是 Home Controller,默认的 Action 方法是 Index。控制器 (Controller) 下面的每一个方法都被称为 Action 方法。此时如何运行项目,因为没有定义 Controller,所以路由机制无法运行,程序返回 404 错误。所以需要定义 HomeController。
asp.net core 对项目文件也有比较清晰的结构要求,由框架规范项目文件的结构有利于不同的项目遵守这个规范,不至于千人千面。下面是 Index 方法的第一版:
HomeController.cs 文件处在 Controllers 文件夹下面, Index() 方法的返回值类型为 string,在 Response 中直接被返回。
如果需要由专门的 View 来渲染 Response 的内容,则 Index() 方法的返回值类型可以为 ViewResult 或者 IActionResult。我们将 Index() 方法修改,观察一下程序运行的效果:
如果没有定义 View,运行程序显示:
显然,默认的路由规则需要在 /Views/Home/ 位置或者 /Views/Shared/ 位置创建 Index.cshtml 文件。按下面的图示创建 View 之后,程序能正常运行:
Web 程序的全部意义就是能够进行动态的输出,基本方法就是在 Action 方法中构造数据并将其传递给视图(View),提供给视图的数据被称为视图模型。
在视图中使用视图模型: