创建ASP.NET Core MVC应用程序(1)-添加Controller和View

本文是创建ASP.NET Core MVC应用程序的第一部分,介绍如何在Mac上使用Visual Studio Code添加Controller和View。文章强调了高效学习的重要性,解释了MVC架构模式,详细阐述了Controller和View的作用。通过示例展示了如何添加Controller方法、创建View模板,以及如何通过路由规则处理HTTP请求。同时,还探讨了如何从Controller传递数据到View,并提供了修改布局页面和添加动态数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建ASP.NET Core MVC应用程序(1)-添加Controller和View

参考文档:Getting started with ASP.NET Core MVC and Visual Studio

这系列文章是参考了.NET Core文档和源码,可能有人要问,直接看官方的英文文档不就可以了吗,为什么还要写这些文章呢?

原因如下:

  • 官方文档涉及的内容相当全面,属于那种大而全的知识仓库,不太适合初学者,很容易让人失去重要,让人掉入到具体的细节之中。
  • 对于大多数人来讲开发语言只是工具,程序员都有一个通病,就是死磕工具,把工具学深。我认为在工具上没有必要投入太多时间,以能高效地完成日常的工作项目为准即可。要需求驱动学习,你需要什么学什么。如果你学的新技术新特性只是屠龙之技或者只需要用到的时候去查一下即可的话,这种死磕这又有什么用。没有必要花120%的时间去学100%的知识,你只需要花20%的时间去学习80%的知识就可以了,剩下的等实际的项目中用到的时候去查就可以了,工具只是工具,不是工作本身。
  • 目前基本所有的文章都是基于Windows平台的Visual Studio IDE来介绍的。而我用的是一台Mac,所以我将基于Mac平台的Visual Studio Code讲解适合我们实际项目中遇到的知识。
  • 还有一点,就是这是我个人的学习总结。

这系列文章就是让你去花20%的时间去学80%的东西,剩下的20%再去看官方文档。

之前介绍了《如何在Mac下运行ASP.NET Core应用程序》,主要是讲解了如何在Mac下把ASP.NET Core跑起来,在这一篇中将进一步分析如何添加Controller、View、Model等。

Model-View-Controller (MVC)架构模式将一个应用程序分成了三大块:ModelViewController

  • **M**odels: 用于表示应用程序数据的类,并使用验证逻辑来约束数据的业务规则。通常模型对象用来从数据库获取和存储实体模型数据。比如User Model 从数据库获取用户数据,并将它交给View来显示或者直接更新,更新后的数据再写入到数据库中。
  • V**iews: 用来显示应用程序UI的组件,该UI会显示**Model数据。
  • C**ontrollers: 是Models和Views的一个桥梁。用来处理浏览器请求,获取**Model数据,并将指定视图模板作为响应返回给浏览器。视图(View)仅仅用于显示信息,控制器(Controller)用于处理并响应用户的输入和交互。比如,Controller处理路由数据查询字符串值,并将这些值传递给Model,Model再去使用这些值去查询数据库。

MVC模式帮助你创建一个关注分离的应用程序(输入逻辑业务逻辑UI逻辑),同时这个模块之间是松耦合的。UI逻辑属于View,输入逻辑属于Controller,业务逻辑属于Model。

添加Controller

namespace MyFirstApp.Controllers
{
    public class HomeController : Controller
    {
        // GET: /<controller>/
        public IActionResult Index()
        {
            
<think>我们正在回答用户关于查找ASP.NETCoreMVCWeb应用程序源码示例的问题。参考提供的引用内容,我们了解到引用[1]提到ASP.NETCoreMVC的功能,引用[3]提到一个完整示例(包括客户端Blazor服务器端WebAPI),引用[4]是关于添加视图的示例。根据这些信息,我们可以为用户提供一些获取源码示例的途径。首先,最直接的方式是参考微软官方文档,因为文档通常提供丰富的示例。其次,引用[3]中提到了一个完整示例,我们可以引导用户到相应的位置下载。另外,GitHub上有许多官方的ASP.NETCore示例仓库,我们可以推荐用户去那里查找。接下来,我们考虑如何组织回答:1.说明如何从微软官方文档获取示例。2.推荐引用[3]中提到的示例(BlazorWebAssemblyASP.NETCoreWebAPI)。3.推荐GitHub上的官方仓库。4.提供创建项目并查看模板代码的方法(因为模板项目本身就是一个很好的示例)。5.最后,提供其他资源,如教程书籍。同时,根据系统指令,我们需要生成相关问题。因此,在回答末尾,我们添加几个相关问题。注意:引用[5]是关于Tengine安装的内容,与当前问题无关,因此忽略。引用[2]提到启动过程,但用户主要是找源码示例,所以也不直接相关。引用[1][4]提供了一些背景信息,说明ASP.NETCoreMVC的基本情况。现在,我们编写回答,并确保使用中文,格式正确(包括数学公式的格式要求,但本问题不涉及数学公式,所以主要注意代码块引用的标识)。</think> 以下是关于查找 ASP.NET Core MVC Web 应用程序源码示例的指导建议: ### 推荐资源 1. **微软官方示例** - GitHub 官方仓库:[aspnetcore-samples](https://github.com/dotnet/AspNetCore.Docs/tree/main/aspnetcore/mvc/views/overview/samples) - 包含完整 MVC 项目结构: ``` Controllers/ HomeController.cs Views/ Home/ Index.cshtml Models/ Product.cs ``` - 示例实现 CRUD 操作、路由配置、视图渲染等核心功能[^1][^3] 2. **入门模板** ```bash dotnet new mvc -n MyMvcApp ``` 生成的项目包含: - 标准目录结构 - 预置的控制器视图 - 启动配置(Program.cs) - 示例页面(Privacy/Home 页)[^4] 3. **实战教程源码** - [ASP.NET Core MVC 教程](https://learn.microsoft.com/zh-cn/aspnet/core/tutorials/first-mvc-app/) - 分步实现功能: 1. 模型绑定 2. EF Core 数据库集成 3. 表单验证 4. 身份认证 4. **第三方资源** - [eShopOnWeb](https://github.com/dotnet-architecture/eShopOnWeb) - 企业级多层架构实现 - DDD 设计模式应用 - [Practical ASP.NET Core](https://github.com/dodyg/practical-aspnetcore) ### 关键源码示例 **控制器示例** ([^4]引用) ```csharp public class HomeController : Controller { public IActionResult Index() { return View(); // 返回Views/Home/Index.cshtml } } ``` **视图示例** ([^4]引用) ```html @{ ViewData["Title"] = "Home Page"; } <div class="text-center"> <h1>Welcome</h1> <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps</a>.</p> </div> ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值