zoukankan      html  css  js  c++  java
  • ASP.NET(一):Reques对象和Response对象的区别,以及IsPostBack属性的用法

    导读:在ASP.NET的学习中,初步认识了其6大对象(严格说来只能算是属性):Request,Response,Application,Session,Server,OjectContext。这些对象,在牛腩里,都能找到使用的痕迹。现在,主要是总结一下对于内置对象Response和Request的认识,以及Page对象的IsPostBack属性。

    一、整体认识

    1,概念把握

    Request对象:对象封装客户端请求页面或者提交表单时提供的值。

    理解:简单说来,就是web客户端的提交值,结合自己的学习,我初步理解为就像是U层提供的一些数值。比如:文本框,标签框之类的一些信息。

    Response对象:对象封装服务器端处理之后返回到客户端的信息。

    理解:即是客户端提交数据后,服务器端,对于客户端提交的信息进行处理后,返回给客户端的信息。比如:输入了登录信息,验证正确后,那么作为Response对象,就会返回一个值,对于机房收费系统,则是进入主界面。


    整体说明:我将这两个概念的把握,移植到了三层架构。在U层通过给用户实体的用户名和密码赋值,Request对象则将这个信息传递给逻辑层、D层进行处理,等到数据验证结束后,通过Response对象进行反馈响应,如果验证通过,则进入主界面,如果验证不通过,则提示。


    IsPostBack属性:获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。如果是为响应客户端回发而加载该页,则为 true;否则为 false。

    理解:简单来说,这个属性的作用就是可以检验页面是否为初次加载,如果初次加载,则执行.......


    2,逻辑阐述


    图形说明:在用户第一次发出请求后,服务器端会根据Request对象提供的信息,进行事件执行,这时候,ispostback的属性值为False。即,当用户第一次请求服务,页面加载时,会执行if(!page.ispostback)下的代码。经过处理后,通过Response对象,将处理后的HTML页返回给客户端。

    这时,用户如果再次发出向服务器发出请求,此时Ispostback的值为True,则将更改之后的HTML页返回给客户端。这时候,不执行if(!page.ispostback)下的代码。


    二、举例说明

    1,代码

    <span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack )
            {
                this.TextBox1.Text = "";
            }
            
        }
        protected void Button1_Click1(object sender, EventArgs e)
        {
    
            string strTest1 = Request["TextBox1"].ToString();
            string strTest2=Request["TextBox2"].ToString ();
            Response.Write (strTest1 + "-----"+strTest2 );
        }
    }
    </span></span>

    2,说明

    将文本框都填上信息(主要测试IspostBack属性)






    3,效果

    1,因为对Page页进行了是否回发的验证,当用户第一次请求的时候,这时IspostBack的值为false,将TextBox1清空,所以这里显示的空。但如果在此处输入文本,刷新再次请求,这时IspostBack的值为true,所以不清空。


    2,通过Request对象,将文本框的信息传送给服务器,再通过Response对象的Write 方法,将结果显示出来。





    三、扩展学习

    在运用Request对象时,不只有Request[""]这一个形式获取表单提供的值。那么到底运用何种形式,则与表单的提交方式有关系。表单的提交方式主要有两种:Get和Post(在上一篇博客中有提及,它们的主要区别在于安全因素的考虑)。

    1,联系

    Get和Post都是表单创建提交的方法,两种方法在实现的效果上是没有质的区别的。

    2,区别

    Get和Post的区别

    类型

    Get

    Post

    取值方法

    Request.QueryString

    Request.Form

    数据量大小

    <2KB

    理论上IIS4<80KB,IIS5<100KB

    安全系数

    执行效率

    数据处理方式

    从服务器获取数据

    向服务器传送数据

    封装力度












    3,建议

    get方式的安全性较Post方式要差些,包含机密信息的话, 建议用Post数据提交方式;

    在做数据查询时,建议用Get方式;而在做数据添加、修改或删 除时,建议用Post方式。


    四、学习感受

    这些东西在牛腩的学习过程中,都有遇到过,现在只是一步步的系统的学习。其实,我在想,到底是先什么都不管笼统的学一遍,然后再系统的学一遍好,还是将两者之间的顺序颠倒一下更好。

    因为在学牛腩的时候,对于这些是什么都不知道,就是在那儿瞎写,照着抄。很多时候,其实都不知道写的是什么。现在学习了之后,知道了是什么,然后对于牛腩中的一些东西,也比以前理解的更好一点。或许实践证明,还是先接触,后深入更为妙。

  • 相关阅读:
    医学-药物-未分类-糠酸莫米松鼻喷雾剂
    Delphi 错误提示: Unknown picture file extension (.jpg)
    SQL SERVER 两表比对更新、插入字段写法
    医学-药物-非激素类抗炎药-孟鲁司特钠片
    医学-药物-分类说明-抗组胺药
    医学-药物-抗组胺药-富马酸酮替芬片
    Delphi 判断字符串是否是数字、大小字母、小写字母、纯字母组成
    医学-药物-未分类-复方甲氧那明胶囊
    医学-药物-分类说明-消炎药
    计算机语言,学习心态
  • 原文地址:https://www.cnblogs.com/hhx626/p/6010437.html
Copyright © 2011-2022 走看看