习题4 设计控制器

一、填空题

1.________在ASP.NET MVC中负责控制所有客户端与服务器端的交互,并且负责协调Model与View之间的数据传递,是ASP.NET MVC整体运作的核心角色。

2.当Controller被MvcHandler选中之后,下一步就是通过ActionInvoker选定适当的_______来运行。

3.在Controller中的每一个Action可以定义0到多个参数,ActionInvoker会依据当下的___________与客户端传来的数据,准备好传入Action参数,最后正式调用Controller中被选中的那个Action方法。      

4.在控制器中,参数传入的属性都是通过一种称为________机制,从RequestContext取得数据,并将数据对应或传入方法的参数中。

5.Controller在运行时还有一层所谓的动作过滤器,包括________、动作过滤器(Action Filters)、结果过滤器(Result Filters)、例外过滤器(Exception Filters)。

6._______能够将数据查询语句映射到编程语言中,还可以实现多类型数据源的操作。

7.在Linq操作符中,排序操作符是_______,用于访问单个数据源中的内部集合是________,筛选操作符是_______,投影操作符是________,分组操作符是______。

8.__________的使用就相当于ViewData,它被声明为一个dynamic动态类型,并且属性是一个传入ViewData的DynamicViewDataDictionary动态ViewData字典。

9.__________保存在Session中,Controller每次请求的时候都会从Session中获取TempData,然后清除Session。

10. 在ASP.NET MVC中是通过________来解析客户端传来的数据。

11.除了通过简单模型绑定取得窗体传来的单栏信息外,还可以通过___________一次取得整份窗体传来的信息。

12.当模型绑定发生输入验证失败时,会在Action里得到一个ModelState._________为false的属性。

13.若要取得在模型绑定的过程中总共有多少属性会被绑定,可以通过ModelState._______获得。

14.自行增加模型绑定验证失败的信息,可以通过ModelState._______("Email", "请输入Email"),清空模型可以通过ModelState._______。

15.可以通过ASP.NET MVC内建的__________并套用在该数据模型的参数上,明确声明有哪些字段可以被自动绑定进来,或是哪些字段该被排除在自动绑定的名单外。如果你想明确指明“只有”哪些字段需要绑定,可以使用_________

16._________是在ASP.NET MVC中最常用的ActionResult,用于回传一个标准的视图页面。

17.在搜索目录时,ASP.NET MVC会到网站根目录下Views目录里先搜索第一层目录,默认将会先搜索与Controller同名的目录。如果找不到相对应的View页面,就会改为搜索_________目录。

18.__________让浏览器转向至该Action的网址。

19.___________的主要用途是让ASP.NET MVC回传特定的HTTP状态代码与消息给客户端。

20.____________专门用来响应HTTP404找不到网页的错误。

21.__________可以让你响应任意”文字属性“的结果,可以任意指定文字属性、属性类型(Content-Type)与文字编码(Encoding)。

22.__________可以响应任意文档的属性,包括二进制格式的数据,例如,图片、PDF、Excel文件或ZIP压缩文件等。

23.__________在横向为MVC框架扩展功能,让我们可以更方便的处理日志、授权、缓存等而不影响纵向主体功能。

24.__________特性可用来与ASP.NET框架的Membership或 FormsAuthentication机制配合使用,进行用户身份验证。

25.如果希望在该控制器中设置几个Action拥有例外,也就是在不登录的情况下也可以运行Action,那么这时你就可以套用_______特性。

26._________特性是ASP.NET MVC为了预防跨网站造假点击(Cross-Site Request Forgery, CSRF)的攻击而生成的。

27. 如果在Action加上____________特性,此时路由参数action的值就会改变。

28.在需要接收窗体信息的时候, 你可以创建两个同名的Action,一个套用__________特性,以显示窗体HTML,另一个套用__________,以接收窗体输出的值。

二、判断题

1.ViewData的特性是它只会存在这次的HTTP请求中,而不会像Session将数据带到下一个HTTP请求。

2.return View("About2"); //About2是视图的名字

3.return View("Index", "_Layout2"); 该语句中,"_Layout2"是控制器的名字。

三、简答题

1.请简述控制器的作用。

2.编写控制器的基本要求。

3.控制器模板有哪几种?

4.结合实例可以完成EF的CRUD操作代码。

posted @ 2017-01-09 09:17  RunningYY  阅读(355)  评论(0编辑  收藏  举报