zoukankan      html  css  js  c++  java
  • Asp.NET笔记(一)---Asp.NET内置对象

    第三章
    一、Response对象:
    用户传输数据到客户端浏览器
    Write():用于向当前HTTP响应流写入文本,使其成为返回页面的一部分
    eg:
    string name = this.txtName1.Text;
    Response.Write("您输入的名字是:" + name); //页面中会显示括号中的文字
    Response.Write("<script>alert('弹窗消息')</script>");//可以实现弹窗效果

    End():将当前所有缓冲的输出发送到客户端,停止该页的执行,并触发Application对象的EndRequest事件
    eg:
    Response.End(); //当程序碰到这行代码,后面的页面就不再执行了(页面后面的元素就不加载了)

    Redirect():将用户从请求页面重新定向或转到另一页面
    eg:
    Response.Redirect("http://www.baidu.com");//页面跳转到百度
    Response.Redirect("/WebForm2.aspx");//页面会跳转到WebForm2窗体
    Response.Redirect("/WebForm2.aspx?name=张三&pwd=123");//页面会跳转WebForm2窗体,并且在Url中附带参数
    //参数传值: *.aspx?参数=值 或 *.aspx?参数1=值1&参数2=值2

    二、Request对象:
    用来读取客户端浏览器的数据
    1、Request的QueryString属性实现页面传值
      eg:
        Request.QueryString["name"];//获取Url上的参数值*.aspx?name=XXX,得到XXX
        Request.QueryString["password"];//获取Url上的参数值*.aspx?password=XXX,得到XXX
    2、Form:使用表单的Post提交获取表单中的控件的值
    eg:
      1)、设置提交的表单属性Method="post"
        eg:<form id="form1" runat="server" method="post">
      2)、通过postBackUrl属性实现页面的跳转
        eg:<asp:Button ID="Button1" runat="server" Text="登录" OnClick="Button1_Click" PostBackUrl="~/Main.aspx" />
      3)、在跳转的页面通过Request.Form["表单控件的ID名称"] 获取控件的值
        跳转前的页面中定义文本框:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
        跳转后的页面中获取文本框的值:string name = Request.Form["txtName"];

    QueryString和Form传值的区别:

      1、传值方式区别:QueryString通过跳转的URL参数进行传值

        Form通过Form表单的Post提交进行传值

      2、获取值区别:QueryString通过Url的各个参数名称获取值

        Form通过Form表单各个元素的ID获取值

    三、Server对象:

    用来提供某些Web服务器端的属性和方法
    1、MapPath:将相对路径转换为绝对路径
    eg:
    转换服务器相对路径(只适用于ASP.NET中的类库)
    Server.MapPath("~/images/logo.jpg")
    转换根相对路径(从域名之后的/开始截取,需判断是否有虚拟目录)
    Server.MapPath("/images/logo.jpg")
    转换相对路径(从当前网页开始计算)
    Server.MapPath("images/logo.jpg")
    得到结果:D:Asp.Net上课案例第三章imglogo.jpg

    2、Execute与Transfer方法:在一个网页中包含另一个网页
    Execute和Transfer方法均会停止当前页面的执行,并转去执行用户在方法内指定的URL,同时用户的会话状态和任何当前的事务处理状态都将传递给新页面
    Execute方法在URL参数指定的页面处理完后,控制权返回给先前的页面或调用此方法的页面,并且从此方法调用后的语句继续执行
    Transfer方法在URL参数指定的页面处理完后,控制权不会返回给先前的页面,也不会返回给调用此方法的页面,直到在新页面完成结束

    3、HtmlEncode方法和UrlEncode方法:都可以进行字符编码
    HtmlEncode:对传入的数据进行HTML解析
    Server.HtmlEncode("<b>昨天下雪了</b>");//输出效果<b>昨天下雪了</b>
    UrlEncode:对传入的数据进行URL编码
    Server.UrlEncode("http://www.baidu.com?wd=今天好开心&pwd=abc123")
    //输出效果:http%3a%2f%2fwww.baidu.com%3fwd%3d%e4%bb%8a%e5%a4%a9%e5%a5%bd%e5%bc%80%e5%bf%83%26pwd%3dabc123
    UrlDecode:对传入的数据进行URL解码码
    Server.UrlDecode(已编码的url));//输出效果:解码恢复原来的http://www.baidu.com?wd=今天好开心&pwd=abc123

    四、Application对象
    Application对象是内置的ASP.NET对象,Application状态由HttpApplicationState类表示,它包含了所有与应用程序相关的方法和集合
    创建一个Application对象后,它就可以在整个程序中使用, Application对象持续到应用程序关闭。

    定义方法: Application["UserName"] = "张三";
    使用方法: string name = Application["UserName"].ToString();

    Lock() 用于防止用户更改 Application 对象的属性,使得首先调用该方法的用户会话拥有应用程序的控制权,从而可以改变应用程序的变量,在锁定释放前其他任何用户都不能编辑应用程序变量。
    Unlock() 方法用于释放对应用程序变量的锁定,Unlock() 方法一旦执行,用户就会失去对应用程序的控制权
    Tips: 通常在Global文件中的Application_Start事件中定义Application对象,在任何页面中都可以访问Application
    Global.asax文件也称为ASP.NET应用程序文件,它是一个用于配置应用程序的设置文件,它主要负责处理Application_Start、Application_End、Session_Start、Session_End等事件

    eg:

    //先锁定,防止其他用户同时使用你的变量
    Application.Lock();
    //定义了两个应用程序级别的变量
    Application["message"] = string.Empty;
    Application["name"] = string.Empty;
    //解锁,释放你的控制权,让其他用户也可以访问到此应用程序变量
    Application.UnLock();

    在其他页面中:
    //获取应用程序级别的变量值
    string name = Application["name"].ToString();
    string message = Application["message"].ToString();

    五、Cookie对象
    Cookie主要用于在客户端浏览器中保存少量的用户信息
      会话级Cookie:不设置有效期,会话结束后失效
        HttpCookie cookie = new HttpCookie("UserName", txtUserName.Text);
        Response.Cookies.Add(cookie);
      持久性Cookie:需要设置有效期,到期后失效
        HttpCookie cookie1 = new HttpCookie("passWord", txtPassWord.Text);
        cookie1.Expires = DateTime.Now.AddDays(14);
        Response.Cookies.Add(cookie1);
      获取Cookie
        Request.Cookies["UserName"].Value
        Request.Cookies["passWord"].Value
    注意:1、创建cookie时使用的是Response对象,获取cookie时使用的是Request对象
    2、cookie因为编码方式的问题,不能直接记录中文信息,需要借助Server.UrlEncode()进行编码, 用Server.UrlDecode()进行解码

    六、Session对象
    Session被称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息。当会话过期或终止时,服务器会自动清除Session对象
    定义:Session: Session["Name"] = "admin";
    使用:Session: string name = Session["Name"].ToString();

    Session和Cookie的区别:
    相同点:都可以用来存储数据,都可以设置有效期
    不同点:Session记录在服务端的,Cookie记录在客户端

  • 相关阅读:
    J2EE开发环境
    Java核心api
    SCJP (SUN认证Java程序员)
    蓝领”变“金领”
    阿飞正传
    高效项目的七个习惯转载
    写程序的一些感想和教训(转载)
    学习的过程也是迭代的过程
    管理的艺术
    怎样成为优秀的软件模型设计者?[精华]
  • 原文地址:https://www.cnblogs.com/JuneDream/p/14077793.html
Copyright © 2011-2022 走看看