• webform内置对象


    1、Response和Request
    地址栏数据拼接 QueryString
    优点:简单好用;速度快;不消耗服务器内存。
    缺点:只能传字符串;保密性差(调转页面后在地址栏显示);长度有限。
    响应请求对象 Response
    获取请求对象 Request
    (1)跳转页面
    Response.Redirect(path);//重定向,可以跳转任何网页
    Rerver.Trandfer(path);//跳转后地址栏的网址不改变,只能跳转该网站根目录下的网站
    Respone.Write("<script>JS语句</script>");
    (2)页面传值
    步骤:
    1)拼接数据
    String path="相对路径?aaa=" +TextBox1.Text+"&bbb="+TextBox2.Text;
    注意:数据拼接是英文状态的符号,并且不能有空格。
    2)跳转页面
    3)接收数据
    //括号内的字符串是数据拼接路径问号后面的等号之前的字符串
    Label1.Text=Request["aaa"];
    Label1.Text+=Request["bbb"];

    2、Session相对全局对象
    Session是非常安全的,因为它存在于服务器的内存中,取数据也是最快的;
    但是,Session不要滥用,因为会造成服务器内存溢出,导致服务器崩溃
    Session里面不要放大东西,如果不用那么就会造成资源浪费
    Session生命周期:20分钟,刷新界面会重新计时
    接受界面如果Session为空会报错,要判断是否为空

    //赋值
    Session["NickName"] = dl.NickName;
                        Response.Redirect("Mainweb.aspx");
    //取值
    if (Session["NickName"] != null)
            {
            //Session["NickName"]取值并给Literal1赋值
            Literal1.Text = " 欢迎您:" + Session["NickName"].ToString() + "<br/>";
            
            }

    3、Cookies
    Cookies里面可以存内容,但是存的只能是字符串
    会话Cookies的生命周期是:20分钟
    持久Cookies,保存时间由咱们网站代码来设置
    Cookies是存在用户电脑的硬盘上

    //赋值:
    Response.Cookies["NickName"].Value = HttpUtility.UrlEncode(dl.NickName);  
                            Response.Cookies["NickName"].Expires = DateTime.Now.AddDays(7);
                            Response.Redirect("Mainweb.aspx");
    //取值
     if (Request.Cookies["NickName"] != null )
            {
                //HttpUtility.UrlDecode(Request.Cookies["userName"].Value, enc);
               Literal1.Text = " 欢迎您:" +HttpUtility.UrlDecode( Request.Cookies["NickName"].Value) + "<br/>";
                
            }

    如果传递的值是汉字,需要编码和解码

    //第一个参数是传递的值
    HttpUtility.UrlEncode("",System.Text.Encoding.GetEncoding("utf-8"));//编码 HttpUtility.UrlDecode("",System.Text.Encoding.GetEncoding("utf-8"))//解码

    4、Application
    它是全局对象,全局只有这一个对象
    只要被创建出来,所有人取的值都是一样的
    生命周期:永久
    保存位置:服务端
    赋值:Application["banben"]="1.3"
    取值:Label1.Text=Application["banben"].ToString();

    5、ViewState:(了解)
    病历,记录上一个页面的信息
    ViewState的作用域是页面,也就是说ViewState是存储在浏览器的页
    面之中的(这里相比Session等,耗费的服务器资源较少),当你关闭
    某个aspx文件后,那么属于这个aspx的ViewState也就不存在了。
    我们在aspx.cs代码中为某些服务器控件设置的值(例如:为Repeater设
    置DataSource中存入的数据集、为Label所设置的Text内容等,但不包括:
    TextBox、CheckBox、CheckboxList、RadioButtonList)都存入了ViewState中
    。这样做的话,我们下次再向服务器提交请求时,现有表单中所有的服务器控
    件状态都会记录在ViewState中提交到服务器,在服务器端可以方便地对这些服
    务器控件进行有状态的操作并返回。

  • 相关阅读:
    linksys wrt160nv3 刷dd-wrt固件
    win2008 r2 远程桌面问题
    windows server 2008 集成raid卡驱动
    gitlab-ce
    git
    批量发布jar包springboot应用
    gradle
    lvs
    rsyslog
    特殊权限
  • 原文地址:https://www.cnblogs.com/zhang-dandan-1/p/5979445.html
Copyright © 2020-2023  润新知