一、单选题(共50题,每题2分)
1、ASP.NET MVC4 的核心架构模式是什么?
A. MVP
B. MVVM
C. MVC
D.三层架构
答案:C
2、在 MVC4 中,默认的路由配置文件名是?
A. Global.asax
B. RouteConfig.cs
C. Web.config
D. BundleConfig.cs
答案:B
3、以下哪个方法用于在视图中输出未编码的 HTML 内容?
A. @Html.Raw()
B. @Html.Encode()
C. @Html.TextBox()
D. @Html.Display()
答案:A
4、在 Razor 视图中,如何定义一个代码块?
A. <% %>
B. @{}
C. <? ?>
D. @{ }
答案:D
5、ActionResult 的派生类不包括以下哪个?
A. ViewResult
B. JsonResult
C. FileResult
D. StringResult
答案:D
6、MVC4 中用于异步控制器的基类是什么?
A. AsyncController
B. ControllerAsync
C. TaskController
D. AsyncAction
答案:A
7、以下哪个属性用于限制 HTTP 请求方法?
A. [HttpPost]
B. [HttpGet]
C. [AcceptVerbs]
D. 以上都是
答案:D
8、在路由配置中,{controller}/{action}/{id} 的默认 id 值是什么?
A. 0
B. null
C. Optional
D. 空字符串
答案:C
9、哪个工具用于合并和压缩 CSS/JS 文件?
A. Bundling
B. Minification
C. 以上都是
D. 以上都不是
答案:C
10、默认的视图引擎是?
A. Web Forms
B. Razor
C. Spark
D. NHaml
答案:B
11、哪个方法用于注册全局过滤器?
A. GlobalFilters.Add()
B. FilterConfig.RegisterFilters()
C. Application_Start()
D. 以上都是
答案:B
12、以下哪个是 ASP.NET MVC4 新增的功能?
A. Web API
B. 移动开发模板
C. 异步控制器
D. 以上都是
答案:D
13、如何定义区域(Areas)?
A. 右键项目 → 添加 → Area
B. 手动创建 Areas 文件夹
C. 使用 NuGet 安装
D. 以上都不是
答案:A
14、模型验证的属性 [Required] 属于哪个命名空间?
A. System.ComponentModel.DataAnnotations
B. System.Web.Mvc
C. System.Web.Helpers
D. System.Data.Entity
答案:A
15、以下哪个是 Razor 视图中输出变量的语法?
A. <%= Variable %>
B. @Variable
C. {{Variable}}
D. $Variable
答案:B
16、ASP.NET MVC4 中,模型绑定的默认行为是通过什么实现的?
A. 表单字段名称与模型属性名称匹配
B. 手动赋值
C. XML 配置文件
D. JSON 序列化
答案:A
17、哪个方法用于在控制器中重定向到另一个 Action?
A. RedirectToAction()
B. RedirectToRoute()
C. Redirect()
D. 以上都可以
答案:D
18、以下哪个是 MVC4 默认的布局文件(Layout)路径?
A. ~/Views/Shared/_Layout.cshtml
B. ~/Views/Home/_Layout.cshtml
C. ~/Content/_Layout.cshtml
D. ~/Scripts/_Layout.cshtml
答案:A
19、在 Razor 视图中,如何注释代码块?
A. @* 注释内容 *@
B. <!-- 注释内容 -->
C. // 注释内容
D. /* 注释内容 */
答案:A
20、哪个属性用于防止 CSRF(跨站请求伪造)攻击?
A. [ValidateAntiForgeryToken]
B. [Authorize]
C. [HttpPost]
D. [ValidateInput]
答案:A
21、以下哪个类用于实现自定义路由约束?
A. IRouteConstraint
B. RouteBase
C. RouteValueDictionary
D. UrlParameter
答案:A
22、在 MVC4 中,如何注册区域(Areas)的路由?
A. 自动注册
B. 在 AreaRegistration 派生类中调用 RegisterAllAreas()
C. 手动修改 Global.asax
D. 无需注册
答案:B
23、哪个方法用于在视图中生成超链接到指定 Action?
A. @Html.ActionLink()
B. @Url.Action()
C. @Html.RouteLink()
D. 以上都是
答案:D
24、模型验证中,[Range(1, 100)] 的作用是?
A. 限制字符串长度
B. 限制数值范围
C. 必填字段
D. 正则表达式验证
答案:B
25、在 MVC4 中,依赖注入(DI)通常通过什么实现?
A. IDependencyResolver
B. IHttpHandler
C. IModelBinder
D. IFilterProvider
答案:A
26、哪个方法用于在视图中包含另一个部分视图?
A. @Html.Partial()
B. @Html.RenderPartial()
C. 以上都是
D. 以上都不是
答案:C
27、ASP.NET MVC4 中,Web API 的默认返回格式是?
A. XML
B. JSON
C. HTML
D. 纯文本
答案:B
28、哪个类用于处理异步 Action 的 Task<ActionResult>?
A. AsyncManager
B. TaskAsyncHelper
C. AsyncController
D. 无需特殊类
答案:D(MVC4 异步 Action 直接支持 Task)
29、如何禁用某个 Action 的客户端验证?
A. [ValidateInput(false)]
B. [ClientValidationEnabled(false)]
C. 修改 Web.config
D. 无法禁用
答案:A
30、哪个 NuGet 包用于添加 MVC4 的 Entity Framework 支持?
A. Microsoft.AspNet.Mvc
B. Microsoft.AspNet.EntityFramework
C. EntityFramework
D. Microsoft.EntityFrameworkCore
答案:C
31、在 Razor 视图中,如何输出 URL 编码后的字符串?
A. @Html.TextBox()
B. @Html.Encode()
C. @Url.Encode()
D. @Html.Raw()
答案:B
32、模型绑定中,TryUpdateModel 方法的作用是?
A. 强制更新模型
B. 尝试更新模型并返回是否成功
C. 仅验证模型
D. 序列化模型
答案:B
33、哪个方法用于在视图中调用子动作(Child Action)?
A. @Html.Action()
B. @Html.RenderAction()
C. 以上都是
D. 以上都不是
答案:C
34、ASP.NET MVC4 中,默认的模型绑定器是?
A. DefaultModelBinder
B. JsonModelBinder
C. XmlModelBinder
D. FormModelBinder
答案:A
35、以下哪个属性用于在 Action 方法中接收上传的文件?
A. [HttpPost]
B. [FileUpload]
C. HttpPostedFileBase
D. [FromBody]
答案:C
36、如何禁用某个视图的布局文件(Layout)?
A. @{ Layout = null; }
B. @{ Layout = ""; }
C. 删除 _ViewStart.cshtml
D. 以上都可以
答案:A
37、哪个接口用于实现自定义依赖注入容器?
A. IDependencyResolver
B. IControllerFactory
C. IHttpHandler
D. IModelBinder
答案:A
38、在 Razor 视图中,如何定义一个匿名对象作为 HTML 属性?
A. @Html.TextBox("name", new { @class = "form-control" })
B. @Html.TextBox("name", htmlAttributes: new { @class = "form-control" })
C. @Html.TextBox("name", class = "form-control")
D. @Html.TextBox("name", attributes: "form-control")
答案:B
39、ASP.NET MVC4 中,默认的 JSON 序列化库是?
A. Newtonsoft.Json
B. System.Text.Json
C. DataContractJsonSerializer
D. JavaScriptSerializer
答案:A
40、哪个属性用于在 Action 方法中直接读取请求体中的原始数据?
A. [FromBody]
B. [FromUri]
C. [FromForm]
D. [FromHeader]
答案:A
41、在 MVC4 中,TempData 的生命周期是?
A. 当前请求
B. 下一个请求
C. 会话期间
D. 永久有效
答案:B
42、哪个方法用于在视图中生成表单的隐藏字段(AntiForgeryToken)?
A. @Html.Hidden()
B. @Html.AntiForgeryToken()
C. @Html.ValidationToken()
D. @Html.SecurityToken()
答案:B
43、ASP.NET MVC4 中,移动设备专用视图的命名约定是?
A. ViewName.mobile.cshtml
B. ViewName.Mobile.cshtml
C. Mobile.ViewName.cshtml
D. ViewName_Mobile.cshtml
答案:A
44、关于 Html.Partial() 和 Html.RenderPartial() 的区别,正确的是?
A. 前者返回 MvcHtmlString,后者直接输出到响应流
B. 前者需要 @{ } 包裹,后者直接调用
C. 两者功能完全相同
D. 后者仅用于异步视图
答案:A
45、如何为 Action 方法指定自定义路由模板?
A. [Route("custom/route")]
B. [CustomRoute]
C. [ActionName("Custom")]
D. 无法指定
答案:A(需结合 RouteAttribute 使用)
46、在 Global.asax 中,BundleConfig.RegisterBundles() 的调用位置是?
A. Application_Start()
B. Application_End()
C. Session_Start()
D. Application_Error()
答案:A
47、哪个属性用于限制 Action 只能通过子动作调用?
A. [ChildAction]
B. [NonAction]
C. [ChildActionOnly]
D. [InternalOnly]
答案:C
48、ASP.NET MVC4 中,默认的视图文件扩展名是?
A. .aspx
B. .cshtml
C. .vbhtml
D. .html
答案:B
49、模型验证的 [Compare("Password")] 属性用于?
A. 比较两个字段的值是否相同
B. 验证密码复杂度
C. 检查字段长度
D. 验证邮箱格式
答案:A
50、Web API 中,返回 HTTP 状态码 404 的方法是?
A. return NotFound();
B. return HttpNotFound();
C. return StatusCode(404);
D. 以上都可以
答案:A(Web API 使用 NotFound())
二、多选题(共10题,每题2分)
1、以下属于 MVC4 过滤器类型的有?
A. Authorization Filter
B. Action Filter
C. Exception Filter
D. Result Filter
答案:ABCD
2、路由参数可以包含哪些属性?
A. defaults
B. constraints
C. namespaces
D. dataTokens
答案:ABCD
3、以下哪些是 ActionResult 类型?
A. RedirectResult
B. PartialViewResult
C. ContentResult
D. JavaScriptResult
答案:ABCD
4、关于 BundleConfig,正确的描述是?
A. 用于合并 CSS/JS 文件
B. 需要在 Global.asax 中注册
C. 支持动态压缩
D. 仅适用于调试模式
答案:ABC
5、ASP.NET MVC4 支持的验证方式包括?
A. 客户端验证
B. 服务端验证
C. 模型绑定验证
D. 数据库约束验证
答案:ABC
6、以下哪些是 ASP.NET MVC4 中的 ActionResult 类型?
A. EmptyResult
B. HttpStatusCodeResult
C. RedirectToRouteResult
D. FileContentResult
答案:ABCD
7、关于模型绑定,以下描述正确的有?
A. 支持复杂对象嵌套绑定
B. 可以通过 [Bind] 属性限制绑定字段
C. 仅支持 POST 请求
D. 可以自定义模型绑定器
答案:ABD
8、以下哪些是 Razor 视图中的 HTML Helpers?
A. @Html.TextBoxFor()
B. @Html.CheckBox()
C. @Html.DropDownList()
D. @Html.ValidationSummary()
答案:ABCD
9、ASP.NET MVC4 中,以下哪些是 Web API 的特性?
A. 基于 REST 风格
B. 支持内容协商(Content Negotiation)
C. 仅返回 JSON 数据
D. 独立于 MVC 控制器
答案:AB
10、以下哪些是 MVC4 中常用的 NuGet 包?
A. jQuery.Validation
B. Microsoft.AspNet.Web.Optimization
C. Newtonsoft.Json
D. Microsoft.AspNet.WebApi
答案:ABCD