1. ADO.NET支持哪两种方式来访问关系数据库
(1) 连接模式:可通过command(命令)对象执行SQL语句或存储过程。如果执行的结果返回的是一个记录集,则可以使用DataReader(数据读取器)对象读取数据。这里需要注意,DataReader ADO.NET的连接模式只能返回向前的、只读的数据,这是因为DataReader对象的特性决定的。
(2) 非连接模式:在数据集方式中,操作数据的基本过程是首先使用数据适配器将数据加载到内存中(数据集对象),在数据集对象中操作数据,然后再使用数据适配器将更改会写到数据库中。
2. 简述ASP.NET中六大常用内置对象
(1) Response对象
(2) Request对象
(3) Server对象
(4) Application对象
(5) Session对象
(6) Cookie对象
3. 请写出在ASP.NET中常用的几种页面间传值的方法,并说出它们的特点。
(1).response.Redirect("?id=1"):通过url,一般用于传递少量数据
(2).使用Session传值:用户之间不共享,可以保存用户特有的数据
(3).使用Server.Transfer
(4).使用Cookie传值:一般用于在本地浏览器记录一些用户相关数据
5. 在ASP.NET 中有哪些数据验证控件(请解释ASP.NET中以什么方式进行数据验证)?
(1)RequiredFieldValidator:检查用户是否输入;
(2)CompareValidator:检查两个表单输入项的输入信息是否存在某种指定关系,比如大、等于等;
(3)RangeValidator:检查用户输入是否在某一指定范围;
(4)RegularExpressionValidator:检查用户输入是否符合某一指定的正则表达式要求;
(5)CustomValidator: 检查用户输入是否符合开发者指定的验证逻辑规则。
JS验证
6. 请解释ASP.NET中的web页面与其隐藏类之间的关系?
一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下:
<%@Pagelanguage="c#"Codebehind="Tst1.aspx.cs"AutoEventWireup="false"Inherits="T1.Tst1"
%>
Codebehind="Tst1.aspx.cs"表明经编译此页面时使用哪一个代码文件。
Inherits="T1.Tst1"表用运行时使用哪一个隐藏类。
aspx页面会编译生成一个类,这个类从隐藏类继承。
7.当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?
有可能是在Page_Load中数据处理时没有进行Page的IsPostBack属性判断
8. 在ASP.NET中,<%= %>和<%# %>有什么区别?
<%# %>用于数据绑定控件,就是必须在对应控件或父控件调用DataBind方法时,这个指令才会被执行
而普通的<%= %>,可以在里面构造代码语句,类似于实现一个函数或方法的功能
9. GET请求和 POST 请求有何区别
(1)、get比post更不安全
(2)、get传输的数据长度比post小
(3)、get通过在URL后拼接字符串的形式传递参数,post将参数放在RequestBody中
(4)、get产生一个TCP数据包;post产生两个TCP数据包。(get会把 httpheader 和 data 一起发送给服务器,服务器会响应200,post会先把httpheader发送给服务端,服务端响应100,提示客户端继续发送。浏览器接着发送data给服务端。最终服务端响应200)
(5)、get请求可以被缓存起来,post不行