ITPub博客

首页 > 应用开发 > IT综合 > 技术干货:ASP.net mvc面试32题附答案

技术干货:ASP.net mvc面试32题附答案

IT综合 作者:陕西优就业 时间:2019-12-06 09:21:17 0 删除 编辑

  今天,陕西优就业小编想给大家分享一篇总结的ASP.net mvc的面试题。希望能帮助到即将进入职场的同学们。

  第1题:什么是ASP.net mvc?

  这是一个网络应用的开发框架。轻量型的,很容易测试的一个框架。它把整个应用程序分成三个组件: model view controller.

  第2题:解释一下model view controller。

  Model是数据模型,用来表示应用中我们使用的数据。

  Controller处理各种用户请求,并且把用户重定位到view。

  View就是我们用户能看到的那一层。

  第3题:解释一下mvc 4的新的功能。

  ①异步control的处理。

  ②JavaScript Bundling.

  ③配置方法的分离。Mvc路径,web API和bundle。

  ④移动端的模板支持。

  ⑤Rest API service的模板支持。

  第4题:在创建一个路径的时候,我们需要哪些组件?

  首先是路径名字。

  其次是路径的url。

  再一个就是defaults。当被调用的时候,在某个controller里面需要被调用的那个action连同参数。

  第5题:mvc对ASP.net的好处在哪里?

  ①提供非常清晰的成绩管理,像ui层,也就是view, 数据层model和管理层controller。

  ②单元测试比较容易。

  ③改善了数据模型和视图的重用性。

  ④代码的结构更加优化。

  第6题:什么是separation of concerns?

  是一个分解的过程。把一个大的功能分解成几个小的功能,几个小功能之间重叠性非常低。对于mvc来说,比较关心从演示层到数据处理分层。

  第7题:一个视图是否能在多个controller中分享?

  是的,可以。

  可以把这个视图放在一个shared的文件夹里面。当我们在创建一个新的mvc工程的时候,这个layout page就会被添加在分享的文件夹里面因为他会被多个子页面调用。

  第8题:unobstrusive JavaScript是什么意思?

  这个javascript的意思是说不会把JavaScript内嵌到你的页面的标记里面。

  第9题:view model在mvc中的作用是什么?

  Viewmodel是一个通常的类,有很多属性它可以绑定到视图上。它也可以通过属性来设定一些验证的规则。

  第10题:Mvc中的路径是干什么的?

  路径主要有两个部分,一个是路径的那个字符串,还有一个是它的处理函数。通过搜索这个路径以及对应的请求方法,然后找到对应的处理函数。

  第11题:Mvc中的actions是什么?

  Actions是controller里面的方法,主要处理两部分内容,一个是视图,另外一个是json数据。它的返回值类型是action result,是通过invoke action这个方法来调用。

  第12题:什么是属性路径?

  属性路径可以定义在controller层级或者是action层级。从mvc 5 才开始有的。

  第13题:如何激活属性路径?

  在registerRoutes里面添加map mvc attribute routes就可以激活属性路径。

  第14题:什么是json binding?

  从mvc3开始,使用json value provider factory来支持json binding. 允许action方法接收和绑定json类型的数据。这一点在向服务器发送数据的时候非常有用。

  第15题:解释一下dependency resolution.

  这个主要是来做dependency injection,这样可以使得代码耦合性非常低,可以更容易的进行测试。

  第16题:解释一下mvc4中的bundle.config.

  这个文件主要是用来注册一些非常有用的程序库像jquery。

  第17题:在dot net mvc中,路径表是如何创建的?

  RegusterRoutes用来注册各种路径,这个方法会在application start方法中被调用,这个方法存在于global.asax文件里面。在程序启动的时候,会被调用。

  第18题:为什么使用"{resource}.asd/{*pathinfo}"?

  这样做主要是为了防止网络资源文件,比如web resource.asd,或者script resource.asd,被传送到一个controller上。

  第19题:什么是view data?

  view data,是一个数据字典,有key和value,从view data dictionary派生出来的,在action方法中,我们可以设定viewdata的值,在视图中,我们可以获取这些值。

  第20题:view bag 和 view data之间的区别是什么?

  view bag是view data的一个扩展。扩展以后可以创建动态的属性。这样的好处有:不需要进行类型的转换。我们可以使用dynamic关键字。

  但是有一个缺点就是view bag要比view data慢一些。

  第21题:解释一下temp data。

  是从temp data dictionary派生出来的,跟view data很类似,它也是key和value的对组合。它主要用在两个请求的交互当中,它们可能是两个actions或者两个controllers。它在视图中使用的时候需要类型转换。

  第22题:什么是html Helpers?

  Html helpers相当于在传统的web form中的控件。但是它更轻量级, 不会保存试图的状态和事件。

  它返回html字符串,它可以直接被显示的网页上。从html helper时派生可以自定义html helpers。

  第23题:什么是ajax helpers?

  它是用来对网页表格进行进一步请求的机制,它的扩展方法存在于System.Web.Mvc。

  第24题:有哪些配置ajax helper的选项?

  Url, 这是请求的链接。

  Confirm这个是用来指定显示的确认消息。

  On begin这个方法是在ajax请求之前被调用。

  On Complete, 这个方法会在ajax请求之后被调用。

  On success当ajax请求成功时,这个方法会被调用。

  On failure, 当ajax请求失败时,这个方法会被调用。

  Update trigger ID.在action返回的html中会存在目标元素, 这个ID就是对应这个元素的。

  第25题:解释一下render body和render page。

  render body就相当于在网页表格中的content place holder。它存在于layout页面当中,一个layout页面只有一个render body。而在一个layout页面当中可以有多个render page.

  第26题:什么是view start page?

  这个页面是用来制作通用的layout页面,它可以被多个视图使用,在这个文件里的代码,会在程序加载的时候首先被执行。

  第27题:解释一下显示视图的方法。

  View在action中返回的是一个视图。

  Partial view, 它是在action中返回一部分视图。

  Redirect to action.它是用来重定向到不同的action里面,它可以在一个controller里面也可以在不同的controller里面。

  第28题:如何改变action的名字?

  可以使用action name属性来改变action的名字。

  [actionname("testactionview")]

  第29题:什么是validation anotations?

  数据anotations存在于system.componentmodel.data .anotations. 它可以用作服务器端的验证也可以用作客户端的验证。有4个属性一个是required,一个是string length,一个是regular expression,一个是range。

  第30题:为什么要使用html.partial?

  这个方法用来显示html string指定的某块视图。

  html.partial("testpartialview")

  第31题:什么是html.Renderpartial?

  这个方法向response里面写入数据的。没有任何返回值。

  @{html.renderpartial("testpartialview")}

  第32题:什么是scaffold模板?

  用来生成controller,model,views,对应的是create,read,,,这些功能操作。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69902581/viewspace-2667186/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
我要做IT大佬 请叫我大佬

注册时间:2018-12-13

  • 博文量
    157
  • 访问量
    226512