ASP.NET内置对象——Request和Response

2024-08-25 16:08

本文主要是介绍ASP.NET内置对象——Request和Response,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言

      ASP.NET 的视频才看了几集,就听里面的老师一直在强调Request对象、Response对象等内置对象。还在一直说page的ispostback属性,这就证明这些基础很重要,所以有必要进行总结。

内置对象

       ASP.NET提供了内置对象有Request、Response、Application、Session、Server、Cookie、Cache。这些对象使用户更容易收集通过浏览器请求发送的信息、相应浏览器以及存储用户信息,以实现其他特定的状态管理和页面信息的传递。今天我们详细说一下Request和Response。

Request

          概述

              Request对象实际上是System.Web命名空间中的HttpRequest类的对象。用来获取从客户端提交和上传的信息。使用该对象可以访问任何用HTTP请求传递的信息,包括用户在Web表单中提交的信息、URL中参数信息、客户端信息。Request对象是Page对象的成员之一,所以在程序中不需要做任何的声明即可直接使用。

          基本属性比较

             1)  使用Request.Form属性获取数据——提交方式为post

                    这种方式是将数据作为一个整个的集合来进行提交。在URL中看不到。

                    表示方式:Request.From[“变量名”]或者Requset.Form.Get[“变量名”]

             例子:

<span style="font-size:18px;">protected void Page_Load(object sender, EventArgs e){string userName =Request.Form["userName"].ToString();string userPwd =Request.Form.Get("userPwd").ToString();Response.Write(userName);}</span>



            2)  使用Request.QueryString属性获取数据——提交方式为Get

                    这种方式将提交的所有参数传到URL里面,可以说是明文提交,就是把要传递的值直接在链接请求中可以看到。

                    表示方式:Request.QueryString[“变量名”]

            例子:

<span style="font-size:18px;">protected void Page_Load(object sender, EventArgs e){string userName2 =Request.QueryString["userName2"].ToString();string userPwd = Request.QueryString("userPwd").ToString();Response.Write(userName);}</span>


              区别总结

              1、安全性:如果用get提交一个验证用户名和密码的Form,一般认为是不安全的。因为用户名和密码都会出现在URL上,进而出现在浏览器的历史记录中。所以这种对安全性有要求的情况下,要使用post方式。

              2、Get方式是把参数数据队列加到提交表单的Action属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。Post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML Header内一起传送到Action属性所致的URL地址,用户看不到这个过程。

             3、Get方式传送的数据量较小,Post传送的数据量较大,一般被默认为不受限制。

             4、Get方式执行效率高,post低。

 

 Response

       概述

       Response对象继承于System.Web.HttpRespone类,用来发送信息到客户端,并对发送过程进行控制。它提供了标志服务器和性能的HTTP变量,发送给浏览器的信息和在cookie中存储的信息。也提供了一系列用户创建输出页面的方法,例如:Response.Write方法。

     基本语法

       Response.[属性\方法][变量],变量是一些字符串变量,用来作为方法的参数。

 

 ispostback属性

       这个属性表示当前的请求是否第一次打开。当page.ispostback的值为false的时候,表示是第一次,如果为true表示不是第一次。

 

例子:

 

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


点击按钮之前:

 

点击按钮之后:



总结

      每一次的总结都是一次颗粒归仓的机会,当我们越走的费劲,越应该停下来,静下心来总结。有的时候觉得自己其实没有学明白,总结不出来白浪费时间,但是你不知道,当你查资料进行总结的过程中,恰恰是最好的学习。还有,光有理论知识是不行的,我们应该动手实践,老师说过,计算机是一个可以很好实验的科学,如果是医学或者是生物,我们杀了一只兔子,如果不成功,想要换个方式,就必须再杀一只,但是计算机可以改改,再执行一遍就可以了。所以我们还是动手实践一下吧,更助于理解。

 

 

 

这篇关于ASP.NET内置对象——Request和Response的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106020

相关文章

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

.NET利用C#字节流动态操作Excel文件

《.NET利用C#字节流动态操作Excel文件》在.NET开发中,通过字节流动态操作Excel文件提供了一种高效且灵活的方式处理数据,本文将演示如何在.NET平台使用C#通过字节流创建,读取,编辑及保... 目录用C#创建并保存Excel工作簿为字节流用C#通过字节流直接读取Excel文件数据用C#通过字节

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像

Java第二阶段---09类和对象---第三节 构造方法

第三节 构造方法 1.概念 构造方法是一种特殊的方法,主要用于创建对象以及完成对象的属性初始化操作。构造方法不能被对象调用。 2.语法 //[]中内容可有可无 访问修饰符 类名([参数列表]){ } 3.示例 public class Car {     //车特征(属性)     public String name;//车名   可以直接拿来用 说明它有初始值     pu

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d

PHP7扩展开发之对象方式使用lib库

前言 上一篇文章,我们使用的是函数方式调用lib库。这篇文章我们将使用对象的方式调用lib库。调用代码如下: <?php $hello = new hello(); $result = $hello->get(); var_dump($result); ?> 我们将在扩展中实现hello类。hello类中将依赖lib库。 代码 基础代码 这个扩展,我们将在say扩展上增加相关代码。sa