2016_MVC+Jquery_考试题库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MVC+Jquer试题库
一、选择题(20个*2分)复习范围:P139页
二、简答题(5个* 8分)
1、MVC的三个组件分别是什么?它们的作用是什么?
模型-视图-控制器 (MVC) 体系结构模式将应用程序分成三个主要组件:模型、视图和控制器。
模型模型对象是实现应用程序数据域逻辑的应用程序部件。数据集担当模型对象的作用。
视图视图是显示应用程序用户界面 (UI) 的组件。通常,此 UI 是用模型数据创建的。
控制器控制器是处理用户交互、使用模型并最终选择要呈现的视图来显示 UI 的组件。
2、在HTML中使用“FORM”提交数据的时候,有哪2种方式?它们的区别是什么?
HTTP定义了与方法是GET 和POST。
Get方式与Post方式的区别:
1、get是从服务器上获取数据,post是向服务器传送数据。
(1)在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
(2)对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
2、GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
3、安全性问题。使用Get 的时候,参数会显示在地址栏上,而Post 不会。
3、用Razor语法求12+25的和,并输出结果。
@{
var x= 12;
var y = 25;
var z=x+y;
@:@z
}
4、什么是JQuery?
JQuery由john resig、Brandon Aaron 和Jorn Zaefferer创建,它是javascript的一个类库,凭借简洁的语法和跨平台的兼容性,简化了javascript的开发。其独特而又优雅的代码风格改变了javascript程序员的设计思想和编写程序的方式。无论是网页设计师还是后台开发者,都应该去认识这个JQuery。JQuery设计者的目标是:write less, do more,即写的少,做的多的意思。
5、请举例说明Razor语句中单行语句、多行语句的表达方式。
单行语法:
@{ var I = 10; }
多行语法:
@{
var I = 10;
var y = 20;
}
6、Jquery中选择器有那些,并举例说明,至少4种以上。
7、在MVC3.0语义验证中,有哪些关键字?分别说出它们的作用。
该验证类型是将当前输入数据根据特定数据限制代码进行验证;
在 MVC3.0中,可以对实体的属性设置Attribute以使MVC3.0框架对用户输入数据的合法性进行验证。它们隶属于“ponentModel.DataAnnotations”命名空间,常
8、在MVC3.0中,从Controller传递数据到视图中去,有哪几种方式?它们的区别是什
么?
MVC3.0中有ViewBag、ViewData和TempData,它们都可用于传递数据,但彼此又有所区别。
ViewData 和 TempData 都可以传递弱类型数据,而ViewData 只在当前 Action 中有效,生命周期和 View 相同;TempData 的数据至多只能经过一次Controller传递,并且每个元素至多只能被访问一次,访问以后,自动被删除。TempData一般用于临时的缓存内容或抛出错误页面时传递错误信息,可以将TempData 在使用之前存储到相应的ViewData 中以备循环使用。ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型,它会在程序运行的时候动态解析。
9、在VisualStudioTestEdition项目中,有3个关键字,TestClass,TestMethod和Assert,
它们分别是什么意思?作用是什么?
[TestClass()]特性:说明这是一个测试类。
[TestMethod()]特性:说明了以下代码是一个测试用例
Assert在这里可以理解成断言,在VSTS里做单元测试是基于断言的测试。
10、代码覆盖率的概念是什么?
测试覆盖是就需求(基于需求的)或代码的设计/实施标准(基于代码的)而言的完全程度的评测,如用例的核实(基于需求的)或所有代码行的执行(基于代码的)。
11、什么是测试驱动开发?它的优点是什么?
测试驱动开发,简称TDD,它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高
质量的代码,并加速开发过程。
试驱动开发有很多优点:
(1) TDD根据客户需求编写测试用例,对功能的过程和接口都进行了设计,而且这种从使用者角度对代码进行的设计通常更符合后期开发的需求。因为关注用户反馈,可以及时响应需求变更,同时因为从使用者角度出发的简单设计,也可以更快地适应变化。
(2)出于易测试和测试独立性的要求,将促使我们实现松耦合的设计,并更多地依赖于接口而非具体的类,提高系统的可扩展性和抗变性。而且TDD明显地缩短了设计决策的反馈循环,使我们几秒或几分钟之内就能获得反馈。
(3)将测试工作提到编码之前,并频繁地运行所有测试,可以尽量地避免和尽早地发现错误,极大地降低了后续测试及修复的成本,提高了代码的质量。在测试的保护下,不断重构代码,以消除重复设计,优化设计结构,提高了代码的重用性,从而提高了软件产品的质量。
(4) TDD提供了持续的回归测试,使我们拥有重构的勇气,因为代码的改动导致系统其他部分产生任何异常,测试都会立刻通知我们。完整的测试会帮助我们持续地跟踪整个系统的状态,因此我们就不需要担心会产生什么不可预知的副作用了。
(5) TDD所产生的单元测试代码就是最完美的开发者文档,它们展示了所有的API该如何使用以及是如何运作的,而且它们与工作代码保持同步,永远是最新的。
(6) TDD可以减轻压力、降低忧虑、提高我们对代码的信心、使我们拥有重构的勇气,这些都是快乐工作的重要前提。
12、在MVC3.0中,Html.ActionLink的作用是什么?并举一个例子。
在 MVC3.0中使用Html.ActionLink动态生成超联结,它共有6个重载函数。
作用分别如下:
Html.ActionLink("linkText","actionName")
该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法,默认控制器为当前页面的控制器,如果当前页面的控制器为Products,则Html.ActionLink("detail","Detail") 则会生成all
13、列举MVC传递值的几种方式。
1.提供视图模型对象
你能把一个对象作为View方法的参数传递给视图.
2.使用ViewBag(视图包)传递数据
View Bag 允许在一个动态的对象上定义任意属性,并在视图中访问它.这个动态的对象可以通过Controller.ViewBag属性访问它.
3. 使用View Data传递数据
在MVC3.0之前,主要是通过这种方式传递数据,它是通过用ViewDataDictionary类实现的,而不是动态的对象.ViewDataDictionary类是类似标准"键/值"集合,并通过