ASP提供的可用在脚本中的内置对象,使用户更容易的收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息,简化了开发人员的工作。
常见内置对象如下:
- Request 对象,用于访问任何使用HTTP请求传递的信息。
- Response 对象,用于控制发送给浏览器的信息。
- Server 对象,用于访问服务器上的方法和属性。
- Application 对象,用于共享应用程序信息。
- ObjectContent 对象,用于控制ASP脚本初始化事务。
每个内置对象都有各自的属性(Property)、方法(Method)、集合(Collection)或事件(Event)。属性用于描述内置对象的特性,方法用于执行内置对象的动作,集合是包含特定数据的容器,事件是在某种情况下发生的特定的操作。
Request(请求) 对象
Request 对象,用于在HTTP请求期间,访问任何客户端浏览器传递给服务器的信息,包括通过url传递的参数信息、使用GET方法或POST方法传递的HTML表单数据、Cookie和用户认证信息等。
Request 对象的语法格式如下:
Request[.collection|property|method](variable)
语法说明如下:
- collection,对象的集合成员。Request对象主要包括如下:
- ClientCertificate集合,获取验证字段信息。
- Cookies集合,获取Cookie数据。
- QueryString集合,获取客户端附在URL地址后的参数。
- Form 集合,用于获取客户端在Form表单中所输入的信息。(表单method属性值为POST)
- ServerVariables集合,获取服务器端环境变量及客户端发出的HTTP请求信息中的头信息。
- property,对象的属性成员。Request对象包括以下一个属性:
- TotalBytes属性,获取发送的总字节数。
- method,对象的方法成员。Request对象包括以下一个方法:
- BinaryRead方法,以二进制方式读取数据。
- variable,对象的成员变量。
读取Cookie数据
Cookie是网站中的一些标记,用来记录用户在网站中曾经输入的数据。使用Cookie可以有效的减少用户输入数据的次数,简化用户操作。Cookies集合允许用户读取在HTTP请求中发送的所有的Cookie数据。Cookies集合的语法格式如下:
Request.Cookies(cookie)[(key)|.attribute]
参数说明:
- cookie,指定Cookie的名称。
- key,指定Cookie的关键字名称,与同名的Cookie使用关键字来区分。
- attribute,Cookie的属性,可取属性如下:
- Domain,指定可读取该Cookie的域。
- Expires,指定Cookie的到期时间。
- HasKeys,指定Cookie是否包含关键字。
- Path,指定读取Cookie的路径。
- Secure,指定Cookie是否安全。
读取Cookie
if (Request.Cookies["username"]!=null )
{
string username =Request.Cookies["username"].Value ;
}
if (Request .Cookies ["LoginInfo"]!=null )
{
string username=Request .Cookies["LoginInfo"]["username"];
string password =Request.Cookies["LoginInfo"]["password"];
}
读取表单传递的数据
用户可以通过表单向服务器提交数据,表单中可以包含文本、文本框、复选框、单选按钮、按钮、文本区域等元素。将表单提交服务器有GET和POST两种方法。当通过使用POST方法提交数据的时候,必须使用Form集合来检索在HTTP请求中发送的表单数据。
Form 集合的语法格式:
Request.Form(parameter)[(index)|.attribute]
参数说明:
- parameter,指定要读取的表单名称。
- index,要读取参数的索引。
- attribute,参数属性(Count,参数个数)。
如下例,添加新读者:
Addreader.aspx
<formmethod="post" name="faddreader" class="contact"id ="faddreader">
<h2class="text3">添加 <span>读者信息</span></h2>
<label>账号:</label><inputname="reaID" type="text" id="reaID" />
<label>姓名:</label><inputname="reaName" type="text" id="reaName" />
<label>学院:</label><inputname="reaDepartment" type="text"id="reaDepartment" />
<label>专业:</label><inputname="reaMajor" type="text" id="reaMajor" />
<inputname="submit" type="submit" class="submit"id="submit" value="注册" title="注册" />
<inputname="reset" type="reset" class="reset"id="reset" value="取消" title="Reset" οnclick="location.href='LibraryManage.aspx'"/>
</form>
Addreader.aspx.cs
protected voidPage_Load(object sender, EventArgs e)
{
if(!string.IsNullOrEmpty(Request.Form["reaID"]))
{
Reader reader = new Reader();
reader.ReaderId =Request.Form["reaID"];
reader.ReaderName =Request.Form["reaName"];
reader.ReaderDepartment =Request.Form["reaDepartment"];
reader.ReaderMajor =Request.Form["reaMajor"];
ReaderBLL readerbll = new ReaderBLL();
bool flag = false;
flag = readerbll.AddReader(reader);
string msg;
//添加成功,提示
if (flag)
{
msg = "添加成功!";
}
else
{
msg = "添加失败!";
}
Response.Write("<script>javascript:alert('"+ msg.ToString() +"');location.href='LibraryManage.aspx';</script>");
}
}
效果如下:
读取URL传递的参数/页面重定向
用户可以通过表单想服务器提交数据,也可以通过URL参数的方式向服务器提交数据。QueryString集合允许用户检索在HTTP请求中,使用URL测试方式提交的字符串数据,或使用GET方式提交的表单中的元素数据。
读取URL传递的参数
<span style="font-size:24px;">string key =Server.UrlDecode(Request.QueryString["key"]);</span>