第二章指南(4.2)添加 Controller

本文介绍了在ASP.NET Core MVC中添加Controller的过程,解释了MVC架构模式的组成部分,包括Model、View和Controller,并展示了如何创建一个简单的HelloWorldController,通过HTTP GET方法返回字符串。教程还涉及到URL路由和模型绑定,强调了控制器不应直接返回HTML,而是通常使用视图模板。
摘要由CSDN通过智能技术生成

原文:Adding a controller
翻译:娄宇(Lyrics)
校对:刘怡(AlexLEWIS)何镇汐夏申斌孟帅洋(书缘)

Model-View-Controller (MVC) 架构模式将一个应用程序分离成三个主要的组件: Model、View 以及Controller 。 MVC 模式帮助你创建可测试的应用程序,比传统的单块应用程序更加容易维护和更新。基于 MVC 的应用程序包含:

  • Models:应用程序中用来表示数据的类,并使用验证逻辑来执行该数据业务规则。通常,模型(Model)对象从数据库查询和存储 Model 状态。在本教程 Movie 模型(Model)从数据库查询电影数据用来显示或更新。更新后的数据写入 SQL Server 数据库。

  • Views:视图是显示用户界面(UI)的组件。通常,UI 用于显示模型(Model)数据。

  • Controllers:一种类(Class),用于处理浏览器请求,查询模型(Model)数据,以及将指定视图模板作为响应返回给浏览器。在 MVC 应用程序中,视图(View)仅仅显示信息; 控制器(Controller)处理和响应用户的输入和交互。例如, 控制器(Controller)处理路由数据和查询字符串值,然后将这些值传递给模型(Model),模型(Model)可以使用这些值去查询数据库。

MVC 模式帮助你创建一个分离不同方面的应用程序(输入逻辑,业务逻辑,以及 UI 逻辑),同时这些元素之间是松耦合的。该模式指定在应用程序中的每一种逻辑应该位于何处。 UI 逻辑属于视图(View)。输入逻辑属于控制器(Controller)。业务逻辑属于模型(Model)。当你构建一个应用程序时,这样的分离帮助你管理应用程序的复杂性,因为它使你编写一个方面的代码时不会影响其他(方面)的代码。比如,你可以编写视图(View)代码而不需要依赖于业务逻辑代码。

我们会在本系列教程中涵盖所有这些概念,并告诉你如何使用它们构建一个简单的电影应用程序。下面的图片展示了 MVC 项目中的 Models 、 Views 以及 Controllers 文件夹。

  • 在 解决方案资源管理器(Solution Explorer) 中,鼠标右键点击 Controllers > 添加(Add) > 控制器(Controller)

  • 在 添加基架(Add Scaffold) 对话框中

  • 点击 MVC Controller - Empty

  • 点击 添加(Add)

  • 命名控制器(Controller)为 HelloWorldController

  • 点击 添加(Add)

用下面的代码替换 Controllers/HelloWorldController.cs 中的内容:

using Microsoft.AspNetCore.Mvc;
using System.Text.Encodings.Web;
namespace MvcMovie.Controllers
{    
public class HelloWorldController : Controller    {      
       // GET: /HelloWorld/        public string Index()        {        
          return "This is my default action...";        }              
          // GET: /HelloWorld/Welcome/        public string Welcome()        {      
                return "This is the Welcome action method...";        }    } }

控制器(Controller)的每个 public 方法都可作为 HTTP 端点。在上面的例子中,两个方法都返回 string,注意它们的注释:

public class HelloWorldController : Controller{    // 
    // GET: /HelloWorld/  (手动高亮)

    public string Index()    {        return "This is my default action...";
    }    // 
    // GET: /HelloWorld/Welcome/  (手动高亮)

    public string Welcome()    {        return "This is the Welcome action method...";
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值