原文: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...";
}
}