猿教程 Logo

MVC控制器

在本节中,您将了解ASP.NET MVC中的Controller。

MVC架构中的控制器处理任何传入的URL请求。 Controller是一个类,派生自基类System.Web.Mvc.Controller。 Controller类包含称为Action方法的公共方法。 控制器及其操作方法处理传入的浏览器请求,检索必要的模型数据并返回适当的响应。

在ASP.NET MVC中,每个控制器类名称必须以一个单词“Controller”结尾。 例如,主页的控制器必须是HomeController,student控制器必须是StudentController。 此外,每个控制器类必须位于MVC文件夹结构的Controller文件夹中。


添加新控制器:

现在,让我们使用Visual Studio 2013 for Web and MVC 5添加一个新的空控制器。

在上一节中,我们学习了如何创建我们的第一个MVC应用程序,然后创建一个默认的HomeController。 在这里,我们将创建一个新的StudentController。

在Visual Studio中,右键单击控制器文件夹 - >选择添加 - >单击控制器..

Add New Controller in ASP.NET MVC

这将打开添加Scaffold 对话框,如下所示。 (Visual Studio 2013引入了添加新Scaffold 项对话框,该对话框替换了早期版本Visual Studio中显示的添加视图/添加控制器对话框。)

注意

Scaffold 是ASP.NET Web应用程序的自动代码生成框架。 Scaffold 减少了在MVC框架中开发控制器,视图等所花费的时间。 您可以根据您的架构和编码标准使用T4模板开发定制的脚手架模板。


添加Scaffold对话框包含用于创建新控制器的不同模板。 稍后我们将了解其他模板。 现在,选择“MVC 5 Controller - Empty”,然后单击“添加”。 它将打开添加控制器对话框,如下所示


在添加控制器对话框中,输入控制器的名称。 记住,控制器名称必须以Controller结尾。 让我们输入StudentController,然后单击添加。


这将在Controllers文件夹下的StudentController.cs文件中创建包含Index方法的StudentController类,如下所示。

相关实例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVC_BasicTutorials.Controllers
{
    public class StudentController : Controller
    {
        // GET: Student
        public ActionResult Index()
        {
            return View();
        }
    }
}

如上所示,StudentController类派生自Controller类。 MVC中的每个控制器必须从这个抽象的Controller类派生。 这个基本的Controller类包含可以用于各种目的的帮助方法。

现在,我们将从上面的StudentController的Index动作方法返回一个虚拟字符串。 将Index方法的返回类型从ActionResult更改为字符串并返回虚拟字符串如下所示。 您将在下一部分中了解ActionResult。

相关实例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVC_BasicTutorials.Controllers
{
    public class StudentController : Controller
    {
        // GET: Student
        public string Index()
        {
            return "This is Index action method of StudentController";
        }
    }
}

我们已经在路由部分中看到URL请求http:// localhost / student或http:// localhost / student / index由StudentController类的Index()方法处理,如上所示。 所以让我们从浏览器调用它,你会在浏览器中看到以下页面。


要点
  1. 控制器处理传入的URL请求。 MVC路由根据URL和配置的路由发送请求到适当的控制器和动作方法。 

  2. Controlle类中的所有公共方法都称为Action方法。 

  3. Controller类必须从System.Web.Mvc.Controller类派生。 

  4. 控制器类名必须以“Controller”结尾。 

  5. 可以使用不同的scaffolding 模板创建新的控制器。 您也可以创建自定义scaffolding 模板。

在下一部分中将了解Action方法。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/mvc/mvc-controller.html