Asp.net mvc 期末试题及答案

一.单选题(切记:在题号左边的括弧中,填写正确的字母选项.共30分,每题2分):

( D )1.在MVC世界中,有个重要的概念Dry,其意思是:

A.写代码要有规范. B.写代码要有适合的框架. C.关注点要分离. D.不要重复你自己.

( C )2.在MVC世界中,有个重要的概念SoC,其意思是:

A.以习惯替换配置. B.不要重复你自己. C.关注点分离. D.写代码要有适合的框架.

( A )3.在MVC世界中,有个重要的概念CoC,其意思是:

A.以习惯替换配置. B.测试驱动. C.关注点分离. D.写代码要有适合的框架.

( D)4.在MVC世界中,有个重要的概念ORM,其意思是:

A.以习惯替换配置. B.实体框架模型. C.关注点分离. D.对象关系映射.

( A )5.如果定义了一个可供网址直接访问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

D.以上写法都不对.

( A )6.我们采用Entity Framework支持的Code First开发模式时,需要先建立数据库,然后再进行其它的开发.

A.错误. B.正确.

( D )7.在Models目录下,创建一个类文件,需要声明主键,以下说法错误的是:

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

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

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

D.以上都错.

( A )8.在Models目录下,创建一个类文件,需要声明字段长度,以下说法正确的是:

A.在相应的Property上加一个MaxLength Attrubute.

B.在相应的Property上加一个Required Attrubute.

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

D.以上都错.

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

A.错误.B.正确.

( C )10.在Models目录下,创建一个类文件,在某个Property上加一个NotMapperd Attribute,其目的是:

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

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

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

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

( A )11.在Models目录下,创建一个类文件,有以下代码:

Public virtual Teacher Teacher{get;set;}

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

A.可启用延迟装入特性. B.关闭”延迟装入”特性.

( B )12.Code First中的数据库迁移技术(DB Migration),其作用是:

A.可以升级调整数据库架构, 但不允许恢复到旧版数据库.

B.调整数据库架构时,任然保留现有的数据库数据.

 ( B)13.在控制器中的Action前面加一个NonAction属性,其目的是禁止该Action发布到Web上.

A.错误. B.正确

( C )14.判断模型绑定的验证结果,可以通过以下哪个对象进行判断?:

A.Model.  B.State.    C.ModelState.   D.Session

( C )15.我们在开发Asp.Net MVC时,有一个口头禅:

A.Model要轻,Controller要重,View要笨.

B.Model要重,Controller要笨,View要轻.

C.Model要重,Controller要轻,View要笨.

二.阅读曾经的上机代码,回答问题(30分):

1.部分代码:

HomeControllers.cs部分内容:   

[HttpPost]      

public ActionResult DynamicOutput(stringRowNum)

{

int iRowNum=0;

if (int.TryParse(RowNum, out iRowNum) ==false)

{

ViewBag.Err = "IntTryErr";

return View("Err");

}

if (iRowNum < 0)

{

ViewBag.Err = "RowNum < 0";

return View("Err");

}

ViewBag.RowNum = iRowNum;

return View();

}

 

DynamicOutput.cshtml部分内容:  

 @{ int iRowNum = (int)ViewBag.RowNum;}
<table width="400" border="1" align="center">
 <caption>学生花名册</caption>
 <thead style="color:#000080;background-color:#BFBFFF"> 
 <tr>
<th>编  号</th>
    <th>姓  名</th>
<th>年  龄</th>
</tr>
  </thead>
  <tbody>
  @{
  for(int i=0;i<iRowNum;i++)
  {
  <tr>
    <td>@(i+1)</td>
    <td> </td>
    <td>  </td>
  </tr>
  }
  }
  </tbody>
</table>

简答上述代码含义:

根据输入的行数,动态产生网页内容,内容为一个学生花名册表格,表格行数与输入的行数相关.如果输入值错误或者为负数,显示相应的错误提示页面.

2.部分代码:

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();

}

简答上述代码含义:

网站初始启动时,在线人数初始值为0

每登录一个用户,在线人数加1,每注销一个用户,在线人数减1.

3.部分代码:

public class RouteConfig

{

public static voidRegisterRoutes(RouteCollection routes)

{

routes.MapRoute(

name: "ForbidDownloadRar",

url:"Content/Download/a/b/c/{id}.rar",

defaults: new { controller ="Home", action = "ForbidDownloadRar" }

);

 

routes.MapRoute(

name: "ForgeHtml",

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

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

///路由值得添加约束

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

);

}

}

简答上述代码含义:

创建了2个路由映射:

第一个名称叫ForbidDownloadRar,假设通过http://localhost:2020/ Content/Download/a/b/c/xxx.rar,访问时,自动切换到http://localhost:2020/Home ForbidDownloadRar/  显示[禁止下载]提示页面.第二个名称叫ForgeHtml,假设通过http://localhost:2020/ "china/htzd/8.html 访问时,显示http://localhost:2020/Home/Index页面内容。通过此方法可模拟静态页面,此伪静态页面扩展名是html,文件名约束为数值.

 

4.部分代码:

public ActionResult Search(string Name,int?Age)

{

int age ;

age = Age??-1;

if (string.IsNullOrEmpty(Name) != true&& string.IsNullOrWhiteSpace(Name) != true)

{

var students = db.Students;

if (age == -1)

{

varresults = students.Where(m => m.Name == Name).OrderByDescending(m =>m.Age).ThenBy(m=>m.Name);

return View(results.ToList());

}

else

{

var results = students.Where(m => m.Name== Name).Where(m=>m.Age==age).OrderBy(m => m.Age);

return View(results.ToList());

}

}

ViewBag.Tip = "Name不能为空。";

return View("Index");

}

简答上述代码含义:

如果用户只输入的学生名称,搜索数据库后,显示符合要求的学生名单.最终结果,按照年龄的递减顺序,姓名的递增顺序排列;如果用户输入的学生名称,并且输入了年龄,搜素数据库后,按照年龄的递增顺序排序。

5.部分代码:

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");

}

}

简答上述代码含义:

自定义了一个权限过滤器,时间分钟数为偶数时,满足要求。如果权限不满足要求时,会切换到提示页面。

三.简答题(40分):

1.MVC让软件开发的过程大致切割成哪三个主要单元?分别有什么作用?(9分)

2.采用Entity Framework或其它ORM开发技术,有哪三种开发模式?(9分)

3.从Controller取得数据后,可以传递给View.请说出几种传递方法。(7分)

4. 在MVC平台,网页设计TextBox控件时,编辑代码有四种形式,以下已经写出了第一种,请写出后三种.(8分)

@using MvcViewModelTest.Models  
@model AllPersons  
<h2>第1种: <input id="tea_Name" name="tea.Name" type="text" value="马老师" /> <h2>
<h2>第2种: @Html.TextBox("tea.Name", Model.tea.Name)</h2>  
<h2>第3种: @Html.TextBoxFor(m => m.tea.Name)</h2>  
<h2>第4种: @Html.EditorFor(m => m.tea.Name)</h2>    

5.什么是Ajax技术?在使用Ajax辅助方法之前,必须要先在页面中载入哪些文件才能正常执行?(7分)



在线考试系统是一种环保的考试形式,所有的步骤都在电脑上完成。通过对国内高校对题库、考试、练习、考试数据分析、档案管理等的需求,从基本信息、试题建设、题库规划、移动练习、智能组卷、自定义输出、智能排考、数据分析等进行了全流程设计。用户可通过流程定义将现有的管理流程移植到考试系统,也可自定义管理流程,从而解决学校教考分离的难点和痛点。 现在流行的考试系统都是基于云架构设计,引入了大量的国际先进的信息处理技术,并结合移动互联,支持目前流行的大部分音视频和图片格式,同时可对数学公式、化学公式直接进行处理,可实现传统考试到无纸化考试的完整切换。 在线考试系统可实现智能组卷、智能排考、智能阅卷等功能,用户可实时进行不同程度的干预和调整,从而使整个过程更符合用户要求。一线老师只负责按照考纲教学和试题库建设,考试管理人员负责组织试题建设和从试题抽取试卷考试,考试评价由系统根据一定的评价模型自动生成,从而实现了分散建设、集管理和统一应用的目标。考场抽题组卷智能化、主客观题作答无纸化、主观题教师阅卷网络化、考试质量分析自动化,大大降低了考试过程的人为干预程度,保证了考试效果和教学评价的客观性和公正性。 任课老师可随时安排开放练习和阶段性测试,并通过后台随时查看学生练习情况和知识掌握情况,据此实时调整教学安排,从而使教学更有针对性。学生可通过移动终端随时进行课程练习和自测,从而即时进行知识巩固并且随时掌握自己对知识的掌握程度。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gCodeTop 格码拓普 老师

您的鼓励.我的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值