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