MVC TIP1:控制器基础

1:默认的控制器映射

image

该控制器映射,可以支撑常规的路径;默认约定是在匹配/Views/controllername/actionname.aspx的目录中查找一个aspx文件。

2:IController接口

所有的控制器最终都是继承自这个接口,一个最简单的控制器:

image

3:Controller基类

控制器可以有一个唯一的基类为Controller,一个简单的这样的控制器如下:

image

根据映射,在前台地址输入:http://localhost:52588/Default1/就可以显式Index返回类型的ToString()结果。如上文中,注释的第一段,返回的是abc,注释的第二段,返回的是2,而Student返回的就是MvcApplication5.Controllers.Student,如果要让Student返回非默认的,则需要重写ToString方法。

4:ActionResult

控制器最常用的是返回ActionResult,可以修改上面例子如下:

image

当然,虽然这个时候仍然没有对用的前台UI界面,但是MVC框架已经会将Default1纳入到母版页框架中,随意我们最终看见的不是一个单独的纯文本html页,而是下面的页面:

image

5:ViewData

注意,ViewData是一个ViewDataDictionary,我们可以像上面那样添加数据进去,如果这个时候我们在View下指定了对应的UI,则UI中就会获取到这些数据。

在默认的MAP下,假设我们的控制器名为HelloWorld3Controller,则需要创建HelloWorld3目录,并在其中创建一个Index.aspx页面。按照如下的编码,就可以得到控制器中的数据:

image

6:强类型视图

目前为止,我们看到的都是传递基本的类型去UI。如果要传递一个强类型,也是可以滴。如后台:

image

前台:

image

其中Model就是传递到前台的强类型对象,其类型被指定为了Student。

7:测个试

测试代码如下:

image

成功,收工。

posted @   陆敏技  阅读(774)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
Web Counter
Coupon for Contacts
点击右上角即可分享
微信分享提示