导读:在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方式。

四、学习感受

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

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

ASP.NET(一):Reques对象和Response对象的区别,以及IsPostBack属性的用法的更多相关文章

  1. JAVA-JSP内置对象之response对象

    相关资料:<21天学通Java Web开发> response对象1.response对象用来给客户端传送输出信息. 方法                                 ...

  2. request对象和response对象,什么时候用,具体用哪一个,没有感觉

    request对象和response对象,什么时候用,具体用哪一个,没有感觉

  3. 初识 Asp.Net内置对象之Response对象

    Response对象 Respose对象用于将数据从服务器发送回浏览器.它允许将数据作为请求的结果发送到浏览器,并提供有光响应的信息,可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数, ...

  4. Webform 内置对象(Response对象、Request对象,QueryString)

    Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); Response.Re ...

  5. request 对象和 response 对象

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象 HttpServletResponse HttpServletR ...

  6. request对象和response对象

    Request 和 Response 对象起到了服务器与客户机之间的信息传递作用.Request 对象用于接收客户端浏览器提交的数据,而 Response 对象的功能则是将服务器端的数据发送到客户端浏 ...

  7. Request对象和Response对象 JsonResponse对象 和 Django shortcut functions 和QueryDict对象

    request request属性 属性: django将请求报文中的请求行.头部信息.内容主体封装成 HttpRequest 类中的属性. 除了特殊说明的之外,其他均为只读的. ''' 0.Http ...

  8. JAVA-JSP内置对象之response对象实现页面自动跳转

    相关资料:<21天学通Java Web开发> response对象 实现页面自动跳转1.可以通过response对象的addHeader()方法添加一个标题为Refresh的标头,并指定页 ...

  9. JAVA-JSP内置对象之response对象实现页面自动刷新

    相关资料:<21天学通Java Web开发> response对象 实现页面自动刷新1.可以通过response对象的addIntHeader()方法添加一个标题为Refrsh的标头,并指 ...

随机推荐

  1. Jquery EasyUI 中ValidateBox验证框使用讲解(转)

    Validatebox(验证框)的设计目的是为了验证输入的表单字段是否有效.如果用户输入了无效的值,它将会更改输入框的背景颜色,并且显示警告图标和提示信息.该验证框可以结合form(表单)插件并防止表 ...

  2. js对象引用赋值后

    a={f:1} b={} b.a=a console.log(b.a) a.b=2 console.log(b.a) a={f:1} b={} b.a=a console.log(b.a) a={b: ...

  3. Android学习总结(十六) ———— MediaPlayer播放音频与视频

    一.基本概念 本文主要介绍的是Android中很重要也最为复杂的媒体播放器(MediaPlayer)部分的架构.Android的MediaPlayer包含了Audio和video的播放功能,在Andr ...

  4. Grace Huang 2017/1/12

    原文 Huang doesn't think of acting as pretending to be someone else.Rather,she considers it an opportu ...

  5. 你是猴子请来的逗比么!IT跳槽大事件

       3月招聘大战早已硝烟四起,互联网职场摇身一变成了跳蚤市场,猎头们告诉跳蚤们,跳不跳不是不问题,往哪儿跳才是重点,跳对了高薪期权都如过眼云烟.不过小编不得不说,劳资最痛恨那些跳槽的人啦!就因为加班 ...

  6. UVALive 3211 Now or Later (2-SAT)

    题目的要求一个最小值最大,二分即可,但是怎么判断呢? 飞机早或者晚两种状态,可以用一个布尔变量表示,假设当前猜测为m,那么根据题意, 如果x和y所对应的时间冲突那么就是¬(xΛy)化成或的形式(¬x) ...

  7. 数学题 HDOJ——2086 简单归纳

    哎 真的是懒得动脑子还是怎么滴... 题目如下 Problem Description 有如下方程:Ai = (Ai-1 + Ai+1)/2 - Ci (i = 1, 2, 3, .... n).若给 ...

  8. 手把手教你打造一个 Mac 风格的 Windows10(手动滑稽)

    Mark  https://www.sqlsec.com/2018/04/winmac.html 大佬写得很好,资瓷!! MyDock可能不是最新的,给出官方维护的网盘:https://pan.bai ...

  9. Asp.Net Core 入门(九)—— 环境变量 TagHelper

    我们在之前讲Program.cs文件做了什么的时候,提到启动CreaeDefaultBuilder会获取环境变量来做一些判断之类的操作.那么我们的Taghelper也可以使用“ASPNETCORE_E ...

  10. 关于js作用域问题详解

    执行上下文 函数表达式和函数声明 1. console.log(a); // ReferenceError: a is not defined // ReferenceError(引用错误)对象表明一 ...