天天看点

MVC TIP1:控制器基础

1:默认的控制器映射

<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107271143005435.png"></a>

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

2:IController接口

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

<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107271143019480.png"></a>

3:Controller基类

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

<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107271143027254.png"></a>

4:ActionResult

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

<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107271143022205.png"></a>

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

<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107271143031300.png"></a>

5:ViewData

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

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

<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107271143036250.png"></a>

6:强类型视图

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

<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107271143073379.png"></a>

前台:

<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107271143076693.png"></a>

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

7:测个试

测试代码如下:

<a href="http://images.cnblogs.com/cnblogs_com/luminji/201107/201107271143088820.png"></a>

成功,收工。

本文转自最课程陆敏技博客园博客,原文链接:http://www.cnblogs.com/luminji/archive/2011/07/27/2118061.html,如需转载请自行联系原作者