📜  ASP.Net MVC控制器(1)

📅  最后修改于: 2023-12-03 14:59:24.374000             🧑  作者: Mango

ASP.NET MVC控制器

什么是ASP.NET MVC控制器?

ASP.NET MVC控制器是一个处理用户请求并将响应返回给客户端的组件。控制器是MVC模式中的"控制器",相当于一个中央调度器,负责从视图和模型之间协调通信的任务。

控制器的作用
  1. 处理用户请求并返回响应
  2. 从模型中检索数据
  3. 渲染视图并返回给客户端
控制器的基本结构

ASP.NET MVC控制器通常继承自System.Web.Mvc.Controller基类,并通过方法来处理HTTP请求。以下是一个最简单的控制器实例:

public class HelloWorldController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}
  • HelloWorldController为控制器名称,必须以"Controller"结尾。
  • Index()为处理HTTP请求的方法,返回一个ActionResult对象。
控制器的属性

以下是控制器的几个重要属性:

HttpContext

HttpContext对象提供了对请求和响应的访问权限。使用此对象可以访问HTTP请求和响应的所有信息。

HttpContext.Request.QueryString
HttpContext.Response.Write("Hello World!")
ViewData

ViewData用于在控制器和视图之间传递数据。Controller.ViewData属性是一个Dictionary集合,它用于存储键值对。

ViewData["Message"] = "Hello World!";
ViewBag

ViewBag属性与ViewData类似,也可用于在控制器和视图之间传递数据。但它是一个动态属性,可以直接访问。

ViewBag.Message = "Hello World!";
控制器的方法

在控制器中,可以定义多个方法来处理HTTP请求。以下是ASP.NET MVC中常用的几种方法:

ActionResult方法

ActionResult方法是最常用的方法之一,它返回一个ActionResult对象,可在方法中调用View()方法呈现给客户端。

public ActionResult Index()
{
    return View();
}
JsonResult方法

JsonResult方法用于返回一个JSON格式的响应给客户端。

public JsonResult GetJson()
{
    var result = new { Name = "Hello World", Message = "ASP.NET MVC!" };
    return Json(result, JsonRequestBehavior.AllowGet);
}
PartialViewResult方法

PartialViewResult方法用于呈现一个部分视图。

public PartialViewResult MyPartialView()
{
    return PartialView();
}
控制器的路由

路由系统根据URL匹配控制器和方法,并调用相应的方法来处理请求。默认情况下,ASP.NET MVC使用{controller}/{action}/{id}路由模式。

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
总结

ASP.NET MVC控制器是MVC模式中的核心组件,它负责处理用户请求、从模型中检索数据、渲染视图并返回给客户端。掌握控制器的使用方法对于开发ASP.NET MVC应用程序非常重要。