这篇文章主要讲解了“ASP.net mvc面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“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这些功能操作。
感谢各位的阅读,以上就是“ASP.net mvc面试题有哪些”的内容了,经过本文的学习后,相信大家对ASP.net mvc面试题有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!