今天学习目标:19道简答题 c#选择题
已掌握的目标:60%简答题 75%选择题
1.简答题
- 静态类和静态方法的好处?
static方法是类中的一个成员方法,属于整个类,即使不用创建任何对象也可以直接调用!
静态类最大的特点就是共享。静态类的特性是防止继承
2、简述ASP.NET中六大常用内置对象
(1)Response对象:通过该对象的属性和方法可以控制如何将服务器端的数据发送到客户端浏览器。
(2)Request对象:当客户发出请求执行ASP.NET程序时,客户端的请求信息会包装在Request对象中,这些请求信息包括请求报头(Header)、客户端的机器信息,客户端浏览器信息,请求方法(如POST、GET)、提交的窗体信息等。
(3)Server对象:反映了Web服务器的各种信息,它提供了服务器可以提供的各种服务。
(4)Application对象:一个集合对象,并在整个ASP.NET网站内可用,不同的用户在不同的时间都可以访问Application对象的变量。由于它是一个内置对象,所以使用它的时候与使用Response对象和Request对象类似,不需要进行任何对象的实例化,就可以直接使用。
(5)Session对象:负责存储、读取和改变一个特定用户的会话信息。对于每个用户的每次访问Session对象是唯一的。
(6)Cookie对象:在Web程序设计中,它表示一个长度不超过4K的一个普通的文本文件。这个文件在用户的硬盘上,可以由Web浏览器进行访问。
3、请写出在ASP.NET中常用的几种页面间传值的方法,并说出它们的特点。
QueryString 传递一个或多个安全性要求不高或是结构简单的数值。但是对于传递数组或对象的话,就不能用这个方法了
session(viewstate) 简单,但易丢失 作用于用户个人,过量的存储会导致服务器内存资源的耗尽。
application 对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock
cookie 简单,但可能不支持,可能被伪造 Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用 input ttype="hidden" 简单,可能被伪造
url参数简单,显示于地址栏,长度有限
Server.Transfer 把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流
数据库稳定,安全,但性能相对弱
4、WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
例如:<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<INPUT id="Button2" value="Button" name="Button2 runat="server" >
5、在ASP.NET 中有哪些数据验证控件(请解释ASP.NET中以什么方式进行数据验证)?
(1)RequiredFieldValidator:检查用户是否输入;
(2)CompareValidator:检查两个表单输入项的输入信息是否存在某种指定关系,比如大、等于等;
(3)RangeValidator:检查用户输入是否在某一指定范围;
(4)RegularExpressionValidator:检查用户输入是否符合某一指定的正则表达式要求;
(5)CustomValidator: 检查用户输入是否符合开发者指定的验证逻辑规则。
6、请解释ASP.NET中的web页面与其隐藏类之间的关系?
其实页面与其隐藏类之间就是一个部分类的关系,你在页面上放一个一个的控件就是在这个类中定义一个一个的属性,
因为是同一个类的部分类的关系,所以隐藏类可以访问到页面上控件,这样做是为了把展现与处理逻辑分开(这也是部分类的一个用处)
7、什么是viewstate,能否禁用?是否所用控件都可以禁用?
viewstate用于在两次postback之间保持状态的一种机制禁用viewstate将不能在回发之间保存状态 当控件状态无关使用viewstate将造成性能问题时需要禁用viewstate
Viewstate是保存状态的一种机制,EnableViewState属性设置为false即可禁用
8、当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决
很有可能是在Page_Load中数据处理时没有进行Page的IsPostBack属性判断
9、ASP.net的身份验证方式有哪些?分别是什么原理?
Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活。
要采用Forms身份验证,先要在应用程序根目录中的Web.config中做相应的设置
10、请简述一下你所了解的数据源控件有哪些?
SqlDataSource 、AccessDataSource 、ObjectDataSource、XMLDataSource 、SiteMapDataSource 、linqDataSource
11、在ASP.NET中,<%= %>和<%# %>有什么区别?
asp.net中<%#%>出现在repeater gridview等控件中。用以绑定控件的datasource
asp.net中<%%>的意思是 上运行c#或者vb代码,比如:
一般用法:<%=变量%>