Asp.net MVC2学习笔记3-View

前面我们说过了 控制器(controller) 和方法(action)

本次要说的就是 View以及和控制器(controller)、方法(action)之间的关系;

 

大家都知道 MVC中的 V 就是View 的意思,就是 呈现给用户的界面,以往的asp.net项目中叫 webform,以前做asp.net的时候就是在工具箱里面拖控件出来,

然后简单的排版一下就ok了,大多数用的服务器控件来完成,然而我们会发现 在生成的页面中包含大量的 hidden字段,

微软就是通过这边的hidden字段的内容来维护 每个服务端控件状态的,如果页面很多服务端控件的话整个页面就显得很臃肿。

 

而mvc 推出后,就不再推荐使用服务端控件(当然是可以使用的),而用传统的手写 html来完成(似乎又回到过去了?呵呵)。

 

首先我们说一下 View 和 Controller、action之间的关系:

 

Controller -->Action -->View

 

 

前几篇文章说过 如何从 我们输入的 URL,找到route 再找到 controller再找到对应的action,并且说过了 action 的几种返回类型。

今天的主角就是 View 类型:

 

 

 public ActionResult Index()
        {
            ViewData[
"Message"= "Welcome to ASP.NET MVC!";

            
return View();
        }

 

这里是 默认Home 控制器下的 Index 方法

 

1、ViewData["Message"]="Welcome to ASP.NET MVC!" ,这里 控制器和 view 之间传递参数、内容 可以通过 ViewData 来实现,ViewData存放的内容是 key/value 形式 ,

类似 Session等

 

2、return View(); 这里就是返回一个 view,这里他是没有带参数的,默认就是 该 Action名称(Index);此时会去 Views/Home 文件夹下 找Index.aspx 这个页面,如果找到,皆大欢喜,返回 Index.aspx 内容,如果找不到,不好意思 报错,提示你 找不到文件,呵呵

 这里的 View 有8个重载的构造函数,常用的除了 无构造函数外,还有 可以带一个 viewname 的字符串:

 return View("About"); 此时 就可以根据 About 来寻找对应的 aspx 页面文件了;

View(string viewname,string mastername);指定页面文件名 和 模板名

 

还有些构造函数的方式,大家可以在 vs里面查看一下

 

 

view 创建方式:

1、Views/对应的controller 文件夹上 右键 添加-- View

 

2、在Controller 里 方法里面 右键 有个 Add View 菜单

 

这里 View 的文件名尽量 和 Action 名称一样,这样就直接可以通过 action 名称来找到view了。

 

posted @ 2010-01-13 12:55  -Enchant  阅读(3366)  评论(1编辑  收藏  举报