Asp.net MVC2学习笔记3-View

来源:互联网 发布:2017腾讯大数据挑战赛 编辑:程序博客网 时间:2024/05/16 15:04

前面我们说过了控制器(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 类型:

 

  

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

 

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

 

2、return View(); 这里就是返回一个view,这里它是没有带参数的,默认就是该Action名称(Index);(我注:所以你也可以用return View("Index");来代替,也可以用这样的方法来选择呈现哪一个页面)此时会去 Views/Home 文件夹下找Index.aspx 这个页面,如果找到,皆大欢喜,返回 Index.aspx 内容,如果找不到,不好意思报错,提示你找不到文件,呵呵。

 

MVC_Views 

 

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

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

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

 

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

 

view 创建方式:

 

1、Views/对应的controller 文件夹上右键添加-- View(我注:应该直接在Views文件里右键,add->View就可以了

2、在Controller的方法里面右键,有个Add View 菜单。(我注:不知道是不是版本不一样,我看到的是Add->New Item,然后自己选择MVC VIEW PAGE

 

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

 

 

转自:http://www.cnblogs.com/bboy/archive/2010/01/13/1646420.html

原创粉丝点击