MVC面试题及答案 - [ 编程语言 ]

MVC面试题及答案

MVC是Model,View和Controller的缩写。 MVC架构模式将应用程序分为三个组件 - 模型,视图和控制器。 在此模式中,模型表示数据和业务逻辑的形状。它维护并保留应用程序的数据。 模型对象在数据库中检索和存储模型状态。视图基本上是技术上的用户界面。 视图段向用户显示数据使用模型,并使他们能够修改数据。 控制器是处理用户请求的部分。

1. MVC中的输出缓存是什么?

使用输出缓存的主要目的是显着提高ASP.NET MVC应用程序的性能。 它使我们能够缓存由任何控制器方法返回的内容,以便每次调用相同的控制器方法时都不需要生成相同的内容。 输出缓存具有巨大的优势,例如它可以减少服务器往返次数,减少数据库服务器往返次数,减少网络流量等。详细答案>>

2. MVC中显示模式需要什么?

显示模式是所有基于移动的应用程序开发的强大工具。 但是,它不仅限于移动Web应用程序,还可以用于显示任何替代视图,该视图与现有控制器相关联。 除了我们在上一节中看到的默认功能之外,显示模式实际上为您提供了另一层次的灵活性。 显示模式也可以与之前的功能一起使用,因此用户只需构建他们刚刚创建的网站。 它简化了为不同设备实现不同版本视图的方法。详细答案>>

3. MVC中的默认路由是什么?

默认路由:默认的ASP.NET MVC项目模板添加一个通用路由,该路由使用以下URL约定将给定请求的URL分成三个命名段。 URL: "{controller}/{action}/{id}" 通过调用RouteCollection的MapRoute()扩展方法来注册此路由模式。详细答案>>

4. MVC中的动作过滤器是什么?

操作过滤器是可应用于控制器部分或整个控制器的其他属性,用于修改执行操作的方式。 这些属性是从系统属性派生的特殊.NET类,可以附加到类,方法,属性和字段。

详细答案>>

5. MVC应用程序生命周期是什么?

任何Web应用程序都有两个主要的执行步骤,首先了解请求并根据发出适当响应的请求的类型。 MVC应用程序生命周期没有什么不同,它有两个主要阶段,第一个创建请求对象,第二个发送对浏览器的响应。 创建请求对象包括四个基本步骤: 第1步:填写路由第2步:获取路由第3步:创建请求上下文第4步:创建控制器实例详细答案>>

6. MVC中的部分视图是什么?

部分视图是可以安全地插入到现有DOM中的一大块HTML。 最常见的是,部分视图用于组件化Razor视图并使其更易于构建和更新。 部分视图也可以直接从控制器方法返回。 在这种情况下,浏览器仍然接收文本/HTML内容,但不一定是构成整个页面的HTML内容。如果从浏览器的地址栏直接调用返回部分视图的URL,则可能显示不完整的页面。 这可能出现类似于缺少标题,脚本和样式表的页面。详细答案>>

7. MVC中的TempData是什么?

TempData是一个临时存储数据的字典对象。 它是Controller基类的TempDataDictionary类类型和实例属性。TempData可以在HTTP请求期间保留数据; 换句话说,它可以在两个连续的HTTP请求之间保存实时数据。 它将帮助我们在动作方法之间传递状态。 TempData仅适用于当前和后续请求。 TempData使用会话变量来存储数据。 TempData用于检索数据时需要类型转换。详细答案>>

8. MVC中的Razor是什么?

ASP.NET MVC一直支持“视图引擎”的概念 - 它是可插入的模块,实际上实现了不同的模板语法选项。 ASP.NET MVC的“默认”视图引擎使用相同的.aspx/.ascx/。 主文件模板作为ASP.NET Web窗体。 其他流行的ASP.NET MVC视图引擎是Spart和Nhaml。 Razor是MVC 3引入的新视图引擎。详细答案>>

9. MVC中数据库使用Entity Framework的优先方法是什么?

Database First Approach是实体数据模型的Code First和Model First方法的替代或替代。 实体数据模型从项目中的数据库创建模型代码(类,属性,DbContext等),类表现为数据库和控制器之间的链接。 有以下方法,用于将数据库与应用程序连接。 数据库优先模型第一代码优先详细答案>>

10. MVC中的捆绑和缩小是什么?

捆绑和缩小是为改善请求加载时间而引入的两种新技术。 它通过减少对服务器的请求数量并减少所请求资产(例如CSS和JavaScript)的大小来缩短加载时间。 捆绑:它允许我们组合多个JavaScript(.js)文件或多个级联样式表(.css)文件,以便它们可以作为一个单元下载,而不是发出单独的HTTP请求。 缩小:它提取空白并执行其他类型的压缩,以使下载的文件尽可能小。 在运行时,进程识别用户的代理,例如IE,Mozilla等,然后在请求来自IE时删除Mozilla特有的任何内容。详细答案>>

11. 请解释MVC脚手架的概念?

ASP.NET Scaffolding是ASP.NET Web应用程序的代码生成框架。 Visual Studio 2013包括用于MVC和Web API项目的预安装代码生成器。 当您想要快速添加与数据模型交互的代码时,可以将脚手架添加到项目中。 使用scaffolding可以减少在项目中开发标准数据操作的时间。脚手架由页面模板,实体页面模板,字段页面模板和过滤器模板组成。 这些模板称为Scaffold模板,允许您快速构建功能性数据驱动的网站。详细答案>>

12. 最新版MVC有哪些新功能?

在MVC 6中,Microsoft从MVC6中删除了System.Web.Dll的依赖性,因为它非常昂贵,因为它通常用于每个请求和响应消耗30K内存,而现在MVC 6每个请求仅需要2K内存并且响应是 真的很小的内存消耗。

详细答案>>

13. MVC中的验证摘要是什么?

验证摘要帮助程序方法生成模型状态字典对象中的验证消息的无序列表(UL元素)。
验证摘要可用于显示所有字段的所有错误消息。 它还可用于显示自定义错误消息。

详细答案>>

14. GET和POST操作类型是什么?

GET操作类型:GET用于从指定资源请求数据。 对于所有GET请求,我们传递URL,这是强制性的; 但是,它可以占用以下重载。POST操作类型:POST用于将要处理的数据提交到指定的资源。 对于所有POST请求,传递URL,这是必不可少的和数据。 但是,它可以占用以下重载。详细答案>>

15. MVC(模型/视图/控制器)是什么?

模型 - 视图 - 控制器(MVC)是用于实现用户界面的软件架构模式。 它将给定的软件应用程序划分为三个相互关联的部分,以将信息的内部表示与信息呈现给用户或由用户接受的方式分开。

详细答案>>

16. 解释在MVC中基于属性的路由?

在ASP.NET MVC 5.0中,有一个新的属性路由,通过使用“Route”属性,我们可以定义URL结构。 例如,在下面的代码中,使用route属性修饰了“GotoAbout”操作。 route属性表示可以使用URL结构“Users/about”调用“GotoAbout”。详细答案>>

17. ViewData和ViewBag有什么区别?

在ASP.NET MVC中,有三种方法可以在控制器和视图之间传递/存储数据。 ViewData ViewData用于将数据从控制器传递到视图。它派生自ViewDataDictionary类。它仅适用于当前请求。需要对复杂数据类型进行类型转换,并检查空值以避免错误。如果发生重定向,则其值变为null。 ViewBag ViewBag还用于将数据从控制器传递到相应的视图。ViewBag是一个动态属性,它利用了C# 4.0中的新动态功能它也仅适用于当前请求。如果发生重定向,则其值变为null。不需要对复杂...详细答案>>

18. MVC中的路由是什么?

路由是映射到处理程序的URL模式。 处理程序可以是物理文件,例如Web窗体应用程序中的.aspx文件。 处理程序也可以是处理请求的类,例如MVC应用程序中的控制器。 要定义路由,可以通过指定URL模式,处理程序以及可选的路径名称来创建路由类的实例。详细答案>>

19. 路由的三个重要部分是什么?

路由是一起映射到处理程序的URL模式,负责特定MVC控制器的传入浏览器请求。 在MVC中总共有三个用于路由的段是非常重要。它们是: ControllerNameActionMethodNameParammeter详细答案>>

20. MVC中的过滤器是什么?

在MVC中,控制器定义动作方法,这些动作方法通常与UI控件具有一对一的关系,例如单击按钮或链接等。例如,在我们之前的一个示例中,UserController类包含方法UserAdd ,UserDelete等。但是,用户通常希望在特定操作之前或之后执行某些操作。详细答案>>

21. 过滤器的类型有哪些?

ASP.NET MVC结构支持以下操作过滤器: 操作过滤器:操作过滤器用于实现在执行控制器操作之前和之后执行的逻辑。授权过滤器:授权过滤器用于实现控制器操作的身份验证和授权。结果过滤器:结果过滤器包含在执行视图结果之前和之后执行的逻辑。 例如,可能希望在将视图呈现给浏览器之前修改视图结果。异常过滤器:异常过滤器是要运行的最后一种过滤器。 可以使用异常过滤器来处理由控制器操作或控制器操作结果引发的错误。 还可以使用异常过滤器来记录错误。详细答案>>

22. 控制器操作方法的返回类型有哪些?

可以使用总共九种返回类型将结果从控制器返回到视图。所有这些结果类型的基本类型是ActionResult。 ViewResult(View):此返回类型用于从操作方法返回网页。PartialviewResult(Partialview):此返回类型用于发送将在另一个视图中呈现的视图的一部分。RedirectResult(Redirect):此返回类型用于根据URL重定向到任何其他控制器和操作方法。RedirectToRouteResult(RedirectToAction,RedirectToRoute...详细答案>>

23. MVC有哪些优点?

MVC的好处或优点如下: 多视图支持:由于模型与视图分离,用户界面可以同时显示相同数据的多个视图。更改住宿:用户界面往往比业务规则更频繁地更改(不同的颜色,字体,屏幕布局以及对手机或PDA等新设备的支持级别)SoC - 关注点分离:关注点分离是ASP.NET MVC的核心优势之一。 MVC框架提供了UI,业务逻辑,模型或数据的清晰分离。更多控制:ASP.NET MVC框架提供了比传统Web窗体更多的HTML,JavaScript和CSS控制。可测试性:ASP.NET MVC框架提供了更好的Web应用程...详细答案>>

24. MVC模式用3个逻辑层定义了什么?

MVC模型定义了具有3个逻辑层的Web应用程序: 业务层(模型逻辑)显示层(查看逻辑)输入控制(控制器逻辑) Model是应用程序的一部分,它只处理应用程序数据的逻辑。 通常,模型对象从数据库中检索数据(以及存储数据)。 View是应用程序的一部分,它负责显示数据。大多数情况下,视图是从模型数据创建的,尽管还有其他更复杂的创建视图的方法。顾名思义,Controller是处理用户交互的应用程序的一部分。详细答案>>

25. MVC中的HTML助手是什么?

使用MVC,HTML助手程序与传统的ASP.NET Web窗体控件非常相似。 就像ASP.NET中的Web表单控件一样,HTML助手程序用于修改HTML。 但HTML助手更轻巧。 与Web窗体控件不同,HTML助手程序没有事件模型和视图状态。 HTML Helpers主要是返回字符串值的方法。 使用HTML Helper类构建ASP.NET MVC应用程序不是必需的,因为用户可以在不使用它们的情况下构建ASP.NET MVC应用程序。 但HTML助手程序确实有助于快速开发视图。详细答案>>

26. Razor的语法规则是什么?

以下是主Razor语法的规则: Razor代码块包含在@{...}中内联表达式(变量和函数)以@开头代码语句以分号结尾使用var关键字声明变量字符串用引号括起来C#代码区分大小写C#文件的扩展名为.cshtml详细答案>>

27. 如何在MVC中实现Forms身份验证?

身份验证通过使用他/她的凭据(如用户名和密码或电子邮件和密码)验证他/她的身份,从而为特定服务的用户提供访问权限。 它确保为特定服务验证或登录正确的用户,并且已根据特定用户的授权提供了正确的服务。详细答案>>

28. MVC中区域有哪些好处?

MVC中Area的好处如下: 允许将模型,视图和控制器组织到应用程序的不同功能部分,例如管理,计费,客户支持等等。易于与其他人创建的其他区域集成。易于单元测试。详细答案>>
注: 此试题仅作为相关知识水平测试,不能作为权威试题和答案。非商业转载注明原文链接即可;商业转载需本站授权同意。