ASP内置对象—Request、Response 、Server、Application 、ObjectContent(一)
ASP提供的可用在脚本中的内置对象,使用户更easy的收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息,简化了开发者的工作。
常见内置对象例如以下:
- Request 对象。用于訪问不论什么使用HTTP请求传递的信息。
- Response 对象,用于控制发送给浏览器的信息。
- Server 对象,用于訪问server上的方法和属性。
- Application 对象,用于共享应用程序信息。
- ObjectContent 对象,用于控制ASP脚本初始化事务。
每一个内置对象都有各自的属性(Property)、方法(Method)、集合(Collection)或事件(Event)。属性用于描写叙述内置对象的特性。方法用于运行内置对象的动作,集合是包括特定数据的容器。事件是在某种情况下发生的特定的操作。
Request(请求) 对象
Request 对象,用于在HTTP请求期间,訪问不论什么client浏览器传递给server的信息,包含通过url传递的參数信息、使用GET方法或POST方法传递的HTML表单数据、Cookie和用户认证信息等。
Request 对象的语法格式例如以下:
Request[.collection|property|method](variable)
语法说明例如以下:
- collection。对象的集合成员。
Request对象主要包含例如以下:
- ClientCertificate集合,获取验证字段信息。
- Cookies集合。获取Cookie数据。
- QueryString集合。获取client附在URL地址后的參数。
- Form 集合,用于获取client在Form表单中所输入的信息。(表单method属性值为POST)
- ServerVariables集合,获取server端环境变量及client发出的HTTP请求信息中的头信息。
- property,对象的属性成员。
Request对象包含下面一个属性:
- TotalBytes属性。获取发送的总字节数。
- method。对象的方法成员。
Request对象包含下面一个方法:
- BinaryRead方法,以二进制方式读取数据。
- BinaryRead方法,以二进制方式读取数据。
- variable,对象的成员变量。
读取Cookie数据
Cookie是站点中的一些标记,用来记录用户在站点中以前输入的数据。
使用Cookie能够有效的降低用户输入数据的次数。简化用户操作。Cookies集合同意用户读取在HTTP请求中发送的全部的Cookie数据。Cookies集合的语法格式例如以下:
Request.Cookies(cookie)[(key)|.attribute]
參数说明:
- cookie,指定Cookie的名称。
- key,指定Cookie的keyword名称,与同名的Cookie使用keyword来区分。
- attribute,Cookie的属性,可取属性例如以下:
- Domain,指定可读取该Cookie的域。
- Expires。指定Cookie的到期时间。
- HasKeys,指定Cookie是否包括keyword。
- 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"]; }
读取表单传递的数据
用户能够通过表单向server提交数据,表单中能够包括文本、文本框、复选框、单选button、button、文本区域等元素。将表单提交server有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" onclick="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传递的參数/页面重定向
用户能够通过表单想server提交数据。也能够通过URL參数的方式向server提交数据。QueryString集合同意用户检索在HTTP请求中。使用URL測试方式提交的字符串数据,或使用GET方式提交的表单中的元素数据。
读取URL传递的參数
<span style="font-size:24px;">string key =Server.UrlDecode(Request.QueryString["key"]);</span>