ASP.NET/C# 控制器Controller的深入理解

ASP.NET/C# 控制器Controller的深入理解

1.理解控制器

1.1控制器的角色

(1)中转作用:控制器通过前面的学习大家应该知道它是一个承上启下的作用,根据用户输入,执行响应行为(动作方法),同时在行为中调用模型的业务逻辑,返回给用户结果(视图)。
(2)中介角色:分离视图和模型,让视图和模型各司其职,控制器赋值二者交互。只负责数据传送,不负责处理。控制器的两种角色可以用下图来表示:

在这里插入图片描述


1.2深入理解控制器类

(1)观察控制器类的元数据。前面我们一直用控制器,在最初我们也简单说过控制器必须继承 Controller 类,那么Controller 类究竟还有哪些密码需要我们进一步研究呢。其实我们通过查看 Controller 类的元数据,就能够发现,如下图所示:

在这里插入图片描述

(2)ControllerBase 类需要理解的内容:
Controller 类位于 System.Web.Mvc 命名空间,继承自 ControllerBase 类。
ControllerBase 类实现了 Icontroller 接口的 Execute 方法,在路由器搜索到相应的控制器后,就会调用Execute 方法进入控制器的处理。
(3)ControllerBase 的属性:
ControllerContext:获取或设置控制器上下文。
ValidateRequest:获取或设置一个值,该值指示伺服为此请求启用请求验证。
ValueProvider:获取或设置控制器的值。
ViewData:获取或设置数据的字典。
ViewBag:获取动态视图数据字典。
TempData:获取或设置可以在不同控制器之间传递数据的字典。
(4)ControllerBase 的任务:
定位:找到对应的动作方法。
获取参数:获取动作方法的参数。
处理错误:在执行动作方法中可能出现的错误。
渲染视图:提供默认的 WebFormViewFactory 类来渲染 ASP.NET 视图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老陈聊架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值