《Asp.net Mvc 网站开发》复习试题

一.选择题(注:每题2分,共 54分,++只能在下列表格中,++ ++填写每个题目相应的正确字母选项++)

|-----|-----|-----|-----|-----|-----|------|-----|-----|-----|
| 01: | 02: | 03: | 04: | 05: | 06: | 07: | 08: | 09: | 10: |
| 11: | 12: | 13: | 14: | 15: | 16: | 17: | 18: | 19: | 20: |
| 21: | 22: | 23: | 24: | 25: | 26: | :27: | |||
| ||||| || |||

  1. Mvc让软件开发的过程大致切割成三个主要单元,分别为:Model,View,Controller.这三个单元代表的意思是? [单选题] *

A.分别代表: 模型,控制器,控制器。

B.分别代表: 模型,视图,控制器。(正确答案)

C.分别代表: 控制器, 模型,视图

  1. 在Mvc中,定义数据结构,定义与验证商业逻辑规则,或者和数据库有关系的,最好由下方的哪个部分完成? [单选题] *

A.Model(正确答案)

B.View

C.Controller

  1. 在Mvc中,决定系统运作的流程,最好由下方的哪个部分完成? [单选题] *

A.Model

B.View

C.Controller(正确答案)

  1. 在Mvc中,负责从Model获取数据,决定应该显示哪个View.最好由下方的哪个部分完成? [单选题] *

A.Model

B.View

C.Controller(正确答案)

  1. 在Mvc中,要用什么技术来呈现用户界面,将Controller传递的数据显示于界面.这部分功能由下方的哪个部分完成? [单选题] *

A.Model

B.View(正确答案)

C.Controller

  1. 在Mvc中,负责把用户输入的数据传递给Controller,这部分功能由下方的哪个部分完成? [单选题] *

A.Model

B.View(正确答案)

C.Controller

  1. 在Mvc的世界里,有个非常重要的观念,那就是:Soc,它的意思是: [单选题] *

A.不要重复你自己

B.以习惯替换配置

C.关注点分离(正确答案)

  1. View的视图引擎采用了两种:一种是Aspx,一种是: [单选题] *

A.css

B.xunit

C.Razor(正确答案)

D.Nunit

  1. 基于MVC的Asp.net Web应用开发框架使用一些基本原则,包括[多选题]:

A.约定优于配置(正确答案)

B.Dry原则(不要重复你自己) (正确答案)

C.高内聚,低耦合(正确答案)

D.使用C#语言

  1. 如果定义了一个可供网址直接访问Action,其名称是:Add(int First,int Second),那么URL访问形式如下,错误的为[多选题]

A.http://localhost:2180/Home/Add?First=1&Second=2

B.http://localhost:2180/Home/Add(1,2)(正确答案)

C.http://localhost:2180/Home/Add(First,Second)? First=1&Second=2(正确答案)

  1. 在Models目录下,创建一个类文件,需要声明主键,以下说法错误的是: [单选题] *

A.方法1把相应的Property名称写成为Id,型别为int.

B.方法2把相应的Property名称写成为StudentId,型别为int.

C.方法3在相应的Property上加一个Key Attrubute

D.以上都错.(正确答案)

  1. 在Models目录下,创建一个类文件,在某个Property上加一个NotMapped Attribute,其目的是: [单选题] *

A.禁止用户通过URL直接访问此Property

B.允许用户通过URL直接访问此Property

C.把此Property排除在Entity Framework自动对应的数据库表格字段之外(正确答案)

D.把此Property包含在Entity Framework自动对应的数据库表格字段之内

13.在Models目录下,创建一个类文件,有以下代码:

Public virtual Teacher Teacher{get;set;}

关于virtual关键字,说法正确的是:

单选题\] \* A.可启用"延迟装入"特性(正确答案) B.关闭"延迟装入"特性. 14. 判断模型绑定的验证结果,可以通过以下哪个对象进行判断? \[单选题\] \* A.Model B.State C.ModelState (正确答案) D.Session 15. 我们在开发Asp.Net MVC时,有一个口头禅: \[单选题\] \* A.Model要轻,Controller要重,View要笨 B.Model要重,Controller要笨,View要轻 C.Model要重,Controller要轻,View要笨(正确答案) 16.在Global.asax文档里的Application_Start方法加上一段 System.Data.Entity.Database.SetInitializer()方法,其中传入的参数使用的是System.Data.Entity.DropCreateDatabaseIfModelChanges泛型,其意思是: \[单选题\] \* A.数据模型发生变化时,数据库数据清除 B.数据模型发生变化时,数据库删掉重建(正确答案) C..数据模型发生变化时,启用数据迁移 17. 关于jQuery说法,错误的是: \[单选题\] \* A.$(selector).text() 设置或返回所选元素的文本内容 B.$(selector).html() 只能返回所选元素的内容(正确答案) C.$(selector).val() 设置或返回表单字段的值 D.$(selector).attr() 设置或返回所选元素的属性 18.关于jQuery说法,错误的是: \[单选题\] \* A.jQuery产品版,用于实际的网站中,已被精简和压缩。 B.jQuery开发版,用于测试和开发,有未压缩的可读代码。 C.一般来说,通过CDN载入jQuery库,缓存效果好。 D.jQuery和JavaScirpt是不兼容的(正确答案) 19. 关于jQuery说法,错误的是: \[单选题\] \* jQuery简化了许多JavaScript编程任务,jQuery的目标是:"写得少,做更多" jQuery 可以迭代和遍历Dom jQuery 可以同CSS一样简单地选择条目 jQuery 属于后端技术(正确答案) 20. 关于网址路由,说法错误的是: \[单选题\] \* A.可以根据系统需求,灵活地划分请求路径,不同模块的请求对应不同的URL。可以屏蔽页面的物理路径,不能根据URL分析视图文件在网站目录中的位置,从而提高系统的安全性。 B.有利于搜索引擎优化,将URL请求统一规范,页面在维护中发生变化URL也可保持不变。 C.在Asp.net mvc框架中,网址路由指的是后端路由。 D.在当今Web开发所有技术中,路由技术只有后端路由技术,没有前端路由技术一说。(正确答案) 21. Asp.net Mvc4技术中,有关模版类的技术涉及\[多选题\]: A.布局(正确答案) B.视图模版(正确答案) C.分部视图(正确答案) D.都不对 22. 关于Ajax,说法正确的是\[多选题

A.它是一种局部刷新技术(正确答案)

B.和服务器没有关系

C.需要前端代码和后端紧密配合 (正确答案)

D.整体刷新技术已经被淘汰

  1. 通过路由技术,可以实现[多选题]

A.伪静态(正确答案)

B.防止盗链(正确答案)

C.挽救死链接(正确答案)

D.以上都不对.

  1. 关于Session和Cookies 的说法,正确的是[多选题]: *

A.Session在某些情况下,需要Cookies的配合,才能使用(正确答案)

B.Session数据存放在服务端,Cookies存放在本地.(正确答案)

C.Session和Cookies没有任何关系

D.Session数据可被多个用户共享

  1. 实现Ajax前端代码风格有以下多种[多选题]:

A.纯Javascirpt语法 (正确答案)

B.JQuery语法(正确答案)

C.Razor语法中的Ajax助记符(正确答案)

D.以上三种,可以混写(正确答案)

  1. 为什么要用token? [多选题]

A.Token 完全由应用管理,所以它可以避开同源策略(正确答案)

B.Token 可以避免 CSRF攻击(正确答案)

C.Token 可以是无状态的(正确答案)

D.Token 可以在多个服务间共享(正确答案)

  1. 关于CSRF,其名称说法正确的是[多选题]:

A.跨站请求伪造(Cross-site request forgery)(正确答案)

B.又称 one-click attack(正确答案)

C.又称 session riding(正确答案)

D.又称 token

第二部分 判断题部分

  1. Mvc不是一种程序语言,它是一种框架。 [判断题] *

对(正确答案)

  1. 我们采用Entity Framework支持的Code First开发模式时,需要先建立数据库,然后再进行其它的开发. [判断题] *

错(正确答案)

  1. 在Models目录下,创建一个类文件,如果希望把某Property声明为DateTime类型,在数据库表格里的相应字段设置为允许NULL的话,那么我们可以在该Property的类型声明后,加上一个问号. [判断题] *

错(正确答案)

  1. 在控制器中的Action前面加一个NonAction属性,其目的是禁止该Action发布到Web上. [单选题] *

正确(正确答案)

  1. 控制器类必须位于项目的Controllers目录下,控制器类的名称必须以Controller结尾 [判断题] 对(正确答案)

  2. Views目录的第一级目录名称必须与其对应的控制器的名称相同 [判断题] *

对(正确答案)

  1. 数据类型 int? 代表的意思是此数是整数,不能为空 [判断题] *

错(正确答案)

  1. NoAction属性主要用来保护Controller中的特定public的方法不会发布到Web上成为Action [判断题]

对(正确答案)

  1. 将方法的"public"访问修饰符改为"private",封闭方法也可以达到NonAction属性的同样的作用 [判断题]

对(正确答案)

  1. HttpGet,HttpPost,HttpDelete,HttpPut属性是动作方法选择器的一部分 [判断题] *

对(正确答案)

  1. 如果在Action上应用HttpPost属性,则此Action只会在收到HTTP Post请求时,才可以选择此Action;如果没有此类属性,那么客户端发送来的任何HTTP请求,对应Action都将会被选择并执行 [判断题]

对(正确答案)

  1. Asp.Net MVC可以采用弱类型取得数据,也可以采用强类型取得数据,两者的区别在于View页面最上方申明的方式 [判断题]

对(正确答案)

  1. DateTime在Net环境下是实值型, 但可以通过加 ? 符号,变成 Nullable 型别 [判断题]

对(正确答案)

  1. 布局页中的@RenderBody()符号,表达一个占位符 [判断题] *

对(正确答案)

  1. Http请求中的状态码,404 Not Found。代表的意思是:服务器拒绝请求。 [判断题]

错(正确答案)

  1. get请求用来获取数据的,只是用来查询数据,不对服务器的数据做任何的修改,新增,删除等操作。当然,也可以完成数据的修改,并不是绝对的。 [判断题]

对(正确答案)

  1. 最好不要用Application对象保存大的数据集合 [判断题]

对(正确答案)

第三部分 阅读曾经的上机代码,选择回答问题

  1. 代码片段:

HttpPost

Authorize(Users="zhangsan,lisi")

public ActionResult Create(Student stu)

{

///...

Return RedirectToAction("CreateResult");

}

多选题

A.[HttpPost]目的是此Action只接受Post方式提交的表单数据。(正确答案)

B.[HttpPost]目的是此Action接受Post方式提交的表单数据,也接受Get方式提交的数据。

C.[Authorize]目的是此Action只接受用户名称为zhangsan或者lisi的数据。(正确答案)

D.[Authorize]目的是此Action只接受用户名称为zhangsan 且lisi的数据。

  1. 代码片段:

@Html.ActionLink("One","Second")

上述代码含义,正确选项是:

单选题

A.产生一个a链接,对外显示的文字是One,链接对应Action为Second( )(正确答案)

B.产生一个a链接,对外显示的文字是Second,链接对应Action为One( )

  1. 代码片段:

public override void OnActionExecuting(ActionExecutingContext filterContext)

{

filterContext.HttpContext.Response.Write("

" + Para + ":OnActionExecuting");

base.OnActionExecuting(filterContext);

}

public override void OnResultExecuted(ResultExecutedContext filterContext)

{

filterContext.HttpContext.Response.Write("

" + Para + ":OnResultExecuted");

base.OnResultExecuted(filterContext);

}

上述代码的含义,正确选项是: [单选题]

A.第一段代码段定义一个动作过滤器,第二段代码定义一个结果过滤器(正确答案)

B.第一段代码段定义一个结果过滤器,第二段代码定义一个动作过滤器

  1. 代码片段:

public class MyAuthorizeAttribute :AuthorizeAttribute

{

protected override bool AuthorizeCore(HttpContextBase httpContext)

{

return DateTime.Now.Minute % 2 == 0;

}

protected override void HandleUnauthorizedRequest(AuthorizationContextfilterContext)

{

filterContext.HttpContext.Response.Redirect("/Home/ShowTip");

}

}

上述代码含义,请选择正确选项:

单选题

A.上述代码段定义一个结果过滤器,用户输入如果不符合要求,会激发相应的异常处理。

B.上述代码段定义一个授权过滤器,用户登录不符合权限要求,会激发相应的异常处理。 (正确答案)

  1. 代码片段:

public ActionResult GetPartialDemo()

{

///.....

return PartialView("PartialDemo");

}

上述代码中return PartialView("PartialDemo")的含义,正确的选项是[多选题]

A.返回一个局部视图"PartialDemo",View中,可以采用@Html.Action("GetPartialDemo")引用。(正确答案)

B.返回一个局部视图"PartialDemo", View中,可以采用@Html.Partial ("PartialDemo")引用。(正确答案)

C.返回一个局部视图"PartialDemo",View中,可以采用@Html.GetPartialDemo()引用。

  1. Global.asax.cs文件中的部分代码:

protected void Application_Start()

{

Application["OnLineUserCount"] = 0;

......

}

protected void Session_Start(object sender, EventArgs e)

{

Application.Lock();

Application["OnLineUserCount"] = Convert.ToInt32(Application["OnLineUserCount"]) + 1;

Application.UnLock();

}

protected void Session_End(object sender, EventArgs e)

{

Application.Lock();

Application["OnLineUserCount"] = Convert.ToInt32(Application["OnLineUserCount"]) - 1;

Application.UnLock();

}

上述代码含义,正确选项是[多选题]:

A.使用Application["OnLineUserCount"] 全局对象统计在线人数。(正确答案)

B.Application["OnLineUserCount"] 全局对象只能被某一个用户访问。

C.Convert.ToInt32的作用是把字符串转换为32位整数。(正确答案)

D.Application.Lock()以及Application.UnLock()的作用是对全局对象加锁和解锁,保证某一时刻,只能被某一个用户访问。(正确答案)

  1. 部分代码:

routes.MapRoute(

name: "ForgeHtml",

url: "china/htzd/{id}.html",

defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },

constraints: new {id=@"\d+" }

);

上述代码含义,正确选项: [单选题] *

A.创建一个路由,模拟静态页面URL,id参数约束为整数,此路径最终指向网站首页。(正确答案)

B.创建一个路由,模拟静态页面URL,id参数可以为任意值,此路径最终指向网站首页。

  1. 这是上机的一个控制台的部分代码:

public ActionResult CookiesTest()

{

Response.Cookies["userName"].Value = "HTZD";

Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);

return View("ShowResult");

}

public ActionResult CookiesAbandom()

{

Response.Cookies["userName"].Expires = DateTime.Now.AddDays(-1);

return View("ShowResult");

}

上述代码含义,正确的选项是: [多选题]

A.创建一个cookie,名称为"username",值为"HTZD"。 (正确答案)

B.此Cookie当CookiesAbandom()执行时,即可清除。

C.此Cookie当CookiesAbandom()执行完,浏览器关闭后方可清除。(正确答案)

D.Response.Cookies["userName"].Expires的目的是设置Cookie的生命周期。(正确答案)

  1. 这是我们上机过的一个的部分代码,利用Linq查询语法:

public ActionResult StudentExt()

{

var query = from s in students

join f in formteachers on s.FormteacherID equals f.ID

select new StudentExt

{

ID = s.ID,

Name = s.Name,

Score = s.Score,

FormteacherName=f.FormteahcerName

};

return View(query);

}

上述代码的含义,正确选项是[多选题]:

A.此段代码完成了students以及formteachers内连接Linq查询。(正确答案)

B.Sql Server Sql语句的部分功能可以通过Linq代码进行替代。(正确答案)

C.Linq语法有两种:查询语法和链式语法。(正确答案)

D.代码编译时,Linq查询语法最终要转化成Linq链式语法。(正确答案)

第四部分 问答选择

  1. AspNet Mvc有哪三种开发模式? [单选题]

A.Linq优先、模型优先、代码优先。

B.Model优先、View优先、Controller优先。

C.Model优先、View优先、代码优先。

D.数据库优先、模型优先、代码优先。(正确答案)

  1. 从Controller取得数据后,可以传递给View的方法有哪些?[多选题]

A.ViewBag(正确答案)

B.ViewData。(正确答案)

C.TempData(正确答案)

D.Session(正确答案)

相关推荐
java1234_小锋10 分钟前
Spring Bean有哪几种配置方式?
java·后端·spring
柯南二号1 小时前
【后端】SpringBoot用CORS解决无法跨域访问的问题
java·spring boot·后端
每天一个秃顶小技巧2 小时前
02.Golang 切片(slice)源码分析(一、定义与基础操作实现)
开发语言·后端·python·golang
Moshow郑锴5 小时前
Spring Boot 3 + Undertow 服务器优化配置
服务器·spring boot·后端
Chandler246 小时前
Go语言即时通讯系统 开发日志day1
开发语言·后端·golang
有梦想的攻城狮6 小时前
spring中的@Lazy注解详解
java·后端·spring
野犬寒鸦7 小时前
Linux常用命令详解(下):打包压缩、文本编辑与查找命令
linux·运维·服务器·数据库·后端·github
huohuopro7 小时前
thinkphp模板文件缺失没有报错/thinkphp无法正常访问控制器
后端·thinkphp
wowocpp9 小时前
Java MVC
java·开发语言·mvc