zoukankan      html  css  js  c++  java
  • 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方法,以二进制方式读取数据。

    • 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>


  • 相关阅读:
    011-iOS核心动画(Core Animation)
    010-CALayer(图层)
    009-手势触摸事件处理
    008-Quartz2D
    007-多控制器管理及其控制器间的数据传递
    007-多控制器管理(控制器间的数据传递)
    通过底层 socket 监控 http/https 思路
    NDK 线程同步
    时间同步算法探究
    Android 事件小结
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/6813767.html
Copyright © 2011-2022 走看看