ASP.NET笔试题
ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。下面就由学习啦小编为大家介绍一下ASP.NET笔试题的文章,欢迎阅读。
ASP.NET笔试题篇1
1. 请叙述属性与索引器的区别
属性:
(1) 通过名称标识
(3) 通过简单名称或成员访问来访问
(3) 可以为静态成员或实例成员
(4) 属性的get访问器没有参数
(5) 属性的set访问器包含隐式value参数
索引器:
(1) 通过签名标识
(2) 通过元素访问来访问
(3) 必须为实例成员
(4) 索引器的get访问器具有与索引器相同的形参表
(5) 除了value参数外,索引器的set访问器还具有与索引器相同的形参表
2. 请叙述const与readonly的区别。
答:每一个class至多只可以定义一个static构造函数,并且不允许增加访问级别关键字,参数列必须为空。为了不违背编码规则,通常把static数据成员声明为private,然后通过static property提供读写访问。
const关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值不能被修改。常数声明引入给定类型的一个或多个常数。
const数据成员的声明式必须包含初值,且初值必须是一个常量表达式。因为它是在编译时就需要完全评估。
const成员可以使用另一个const成员来初始化,前提是两者之间没有循环依赖。
readonly在运行期评估赋值,使我们得以在确保"只读访问"的前提下,把object的初始化动作推迟到运行期进行。
readonly关键字与const关键字不同:const字段只能在该字段的声明中初始化。readonly字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly字段可能具有不同的值。另外,const字段是编译时常数,而readonly字段可用于运行时常数。
readonly只能在声明时或者构造函数里面初始化,并且不能在static修饰的构造函数里面。
3. 您需要创建一个ASP.NET应用程序,公司考虑使用Windows身份认证。所有的用户都存在于AllWin这个域中。您想要使用下列认证规则来配置这个应用程序:
a、 匿名用户不允许访问这个应用程序。
b、 所有雇员除了Tess和King都允许访问这个应用程序。
请问您应该使用以下哪一个代码段来配置这个应用程序?( A )
A.
B.
C.
D.
E.
4. 您要创建一个显示公司员工列表的应用程序。您使用一个DataGrid控件显示员工的列表。您打算修改这个控件以便在这个Grid的Footer显示员工合计数。请问您应该怎么做? ( C? )
A.重写OnPreRender事件,当Grid的Footer行被创建时显示合计数
B.重写OnItemCreated事件,当Grid的Footer行被创建时显示合计数
C.重写OnItemDataBound事件,当Grid的Footer行被创建时显示合计数
D.重写OnLayout事件,当Grid的Footer行被创建时显示合计数
5. 您要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选) ( CD )
A.在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误
B.在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误
C.在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误
D.在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误
E.在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET 代码错误
F.在这个应用程序的每一页中添加一个Page指示符去处理ASP.NET HTTP错误
ASP.NET笔试题篇2
1. 您为AllWin公司创建了一个ASP.NET应用程序。这个应用程序调用一个 Xml Web Service。这个 Xml Web Service 将返回一个包含了公司雇员列表的DataSet对象。请问您该如何在这个程序中使用这个 Xml Web Service?( ? )
A.在"引用"对话框的.Net标签中选择 System.Web.Services.dll
B.在"Web引用"对话框中输入这个XML Web service的地址
C.在您的 Global.asax.cs 中添加一条 using 语句并指定这个XML Web service的地址
D.在您的 Global.asax.cs 中写一个事件处理器导入这个Xml Web Service相应的.wsdl和.disco 文件
2. 您要创建一个ASP.NET应用程序在DataGrid控件中显示一个经过排序的列表。产品数据被存放于一个名为PubBase的Microsoft SQL Server 数据库。每个产品的主键是ProductID,Numeric型并且每个产品有一个字母描述字段,名为ProductName。您使用一个SqlDataAdapter对象和一个SqlCommand对象通过调用一个存储过程从数据库中获取产品数据。您将SqlCommand对象的CommandType属性设置为CommandType.StoredProcedure,并将它的CommandText属性设置为procProductList。您成功的获取了一个DataTable对象,其中是已经按ProductID降序排列的产品列表。您打算显示以相反的字母顺序排列的ProductName,请问该怎么做? ( B )
A. 将SqlCommand对象的CommandType属性修改为CommandType.Text,将CommandText属性修改为"SELECT * FROM procProductList ORDER BY ProductName DESC"。然后将这个DataTable对象绑定到DataGrid控件
B. 创建一个基于这个DataTable对象的新的DataView并将这个DataView的Sort属性设置为"ProductName DESC"。然后将这个DataView对象绑定到DataGrid控件
C. 将DataGrid控件的AllowSorting属性设置为True,并将DataGridColumn的SortExpression属性设置为 "ProductName DESC".以显示ProductName。然后将这个DataTable对象绑定到DataGrid控件
D. 将DataTable对象的DisplayExpression属性设置为 "ORDER BY ProductName DESC".。然后将这个DataTable对象绑定到DataGrid控件
3. 什么是ASP.net中的用户控件
答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.
4. 值类型和引用类型的区别?写出C#的样例代码。
答:结构是值类型,类是引用类型,所以传结构就是值类型的应用,传对象或类就是引用类型的.
5. 如何理解委托?
答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.
msdn2005中是这样解释的:
委托具有以下特点:
委托类似于 C++ 函数指针,但它是类型安全的。
委托允许将方法作为参数进行传递。
委托可用于定义回调方法。
委托可以链接在一起;例如,可以对一个事件调用多个方法。
方法不需要与委托签名精确匹配。
6. 私有程序集与共享程序集有什么区别?
答:一个私有程序集通常为单个应用程序所使用,并且存储于这个应用程序所在的目录之中,或此目录下面的一个子目录中。共享程序集通常存储在全局程序集缓存 (Global Assembly Cache)之中,这是一个由.NET运行时所维护的程序集仓库。共享程序集通常是对许多应用程序都有用的代码库,比如.NET Framework类
7. CLR与IL分别是什么含义?
答:CLR:公共语言运行时,类似于Java中的JVM,Java虚拟机;在.Net环境下,各种编程语言使用一种共同的基础资源环境,这就是CLR,CLR将直接与*作系统进行通信,而编程语言如C#.NET将尽量避免直接与*作系统直接通信,加强了程序代码的执行安全性,可以这样看:CLR就是具体的编程语言如:C#.NET与*作系统之间的翻译,同时它为具体的编程语言提供了许多资源:
IL,中间语言,也称MSIL,微软中间语言,或CIL,通用中间语言;所有.NET源代码 (不管用哪种语言编写)在进行编译时都被编译成IL。在应用程序运行时被即时 (Just-In-Time,JIT)编译器处理成为机器码,被解释及执行。
8. 请解释ASP.NET中以什么方式进行数据验证
答:Aps.net 中有非空验证,比较验证,取值范围验证,正则表达式验证及客户自定义验证五大控件,另还有一个集中验证信息处理控件
9. WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回
答:在web控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用Page_Load事件,然后根据传回的状态信息自动调用服务端事件自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到务端
只有通过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不能调用服务端事件
10. 请解释web.config文件中的重要节点
appSettings包含自定义应用程序设置。
system.web 系统配置
compilation动态调试编译设置
customErrors自定义错误信息设置
authentication身份验证,此节设置应用程序的身份验证策略
authorization授权, 此节设置应用程序的授权策略
ASP.NET笔试题篇3
1. 请解释ASP.NET中的web页面与其隐藏类之间的关系?
答:一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下
Codebehind="Tst1.aspx.cs" 表明经编译此页面时使用哪一个代码文件
Inherits="T1.Tst1" 表用运行时使用哪一个隐藏类
2. 什么是viewstate,能否禁用?是否所用控件都可以禁用?
答:Viewstate是保存状态的一种机制,EnableViewState属性设置为false即可禁用
3. 当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决
答:很有可能是在Page_Load中数据处理时没有进行Page的IsPostBack属性判断
4. 请解释什么是上下文对象,在什么情况下要使用上下文对象
答:上下文对象是指HttpContext类的Current 属性,当我们在一个普通类中要访问内置对象(Response,Request,Session,Server,Appliction等)时就要以使用此对象
5. 请解释转发与跳转的区别?
答:转发就是服务端的跳转A页面提交数据到B页面,B页面进行处理然后从服务端跳转到其它页面; 跳转就是指客户端的跳转
6. new有几种用法
第一种:new Class();
第二种:覆盖方法 public new XXXX() { }
第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数
7. 如何把一个array复制到arrayList里
答:foreach( object o in array )arrayList.Add(o);
8. datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview,IList]
9. 什么是Windows服务,它的生命周期与标准的EXE程序有什么不同
答:Windows服务是运行在windows后台指定用户下(默认System)的应用程序,它没有标准的UI界面,想比标准的EXE程序,Windows服务是在服务开始的时候创建,而在服务结束的时候销毁,而且可以设置服务是否与操作系统一起启动,一起关闭。它支持三种方式:1)自动方式 2)手动方式 3)禁用。自动方式的时候,windows服务将在OS启动后自动启动运行,而手动方式则必须手工启动服务,禁用的情况下服务将不能被启动。另外标准的EXE默认使用的当前登录的用户,而windows服务则默认使用System用户,这在对系统资源访问的时候特别需要注意。
10. Windows单个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗?这对于系统设计有什么影响?
答:这个需要针对硬件平台,公式为单个进程能访问的最大内存量=2的处理器位数次方/2,比如通常情况下,32位处理器下,单个进程所能访问的最大内存量为:232 /2 = 2G 。单个进程能访问的最大内存量是最大虚拟内存的1/2,因为要分配给操作系统一半虚拟内存。
11. 什么是强类型,什么是弱类型?哪种更好些?为什么?
答:强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。没有好不好,二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。一般用于编译型编程语言,如c++,java,c#,pascal等,弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编程语言,如javascript,vb等
12. PID是什么?在做系统的故障排除时如何使用它?
PID是进程编号,在系统发现故障的时候,可以根据它寻找故障所发生的具体进程,并且可通过visual studio.net等ide将故障进程附加到进程中进行调试(debug)
13. 阐述面向接口、面向对象、面向方面编程的区别
答:面向接口更关注的是概念,它的原则是先定义好行为规范,再根据行为规范创建实现,严格的来说,面向接口应该是面向对象中的一部分吧,因为面向对象也强调的是本末倒置原则,也就是实现依赖于抽象,而抽象不依赖于具体实现,更具比较的应该是面向接口与面向抽象对象,我的体会是面向接口更加灵活,但实现时候,稍微有些代码冗余,而面向抽象可以结合面向接口,先定义接口,再定义抽象类,在抽象类中处理一些公共逻辑,再实现具体实现类。面向对象是对复杂问题的分解。面向方面的编程是一种新概念,它解决了很多面向对象无法解决的问题,比如面向对象技术只能对业务相关的代码模块化,而无法对和业务无关的代码模块化。而面向方面正是解决这一问题的方案,它的关键思想是"将应用程序中的商业逻辑与对其提供支持的通用服务进行分离"。
14. 从概念上阐述前期绑定(early-binding)和后期绑定(late-binding)的区别?
答:这个就像是强弱类型的比较相似,前期绑定是在编译的时候就确定了要绑定的数据,而后期绑定是在运行的时候才填充数据。所以前期绑定如果失败,会在编译时报编译错误,而后期绑定失败只有在运行时的时候才发生
15. 调用Assembly.Load算静态引用还是动态引用?
答:动态
16. SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值
答:
INSERT INTO jobs (job_desc,min_lvl,max_lvl) VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'
17. DateTime.Parse(myString); 这行代码有什么问题?
答:有问题,当myString不能满足时间格式要求的时候,会引发异常,建议使用DateTime.TryParse()