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

相关文章

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

C#借助Spire.XLS for .NET实现Excel工作表自动化样式设置

《C#借助Spire.XLSfor.NET实现Excel工作表自动化样式设置》作为C#开发者,我们经常需要处理Excel文件,本文将深入探讨如何利用C#代码,借助强大的Spire.XLSfor.N... 目录为什么需要自动化工作表样式使用 Spire.XLS for .NET 实现工作表整体样式设置样式配置

sqlserver、mysql、oracle、pgsql、sqlite五大关系数据库的对象名称和转义字符

《sqlserver、mysql、oracle、pgsql、sqlite五大关系数据库的对象名称和转义字符》:本文主要介绍sqlserver、mysql、oracle、pgsql、sqlite五大... 目录一、转义符1.1 oracle1.2 sqlserver1.3 PostgreSQL1.4 SQLi

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

使用MapStruct实现Java对象映射的示例代码

《使用MapStruct实现Java对象映射的示例代码》本文主要介绍了使用MapStruct实现Java对象映射的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、什么是 MapStruct?二、实战演练:三步集成 MapStruct第一步:添加 Mave

Java中实现对象的拷贝案例讲解

《Java中实现对象的拷贝案例讲解》Java对象拷贝分为浅拷贝(复制值及引用地址)和深拷贝(递归复制所有引用对象),常用方法包括Object.clone()、序列化及JSON转换,需处理循环引用问题,... 目录对象的拷贝简介浅拷贝和深拷贝浅拷贝深拷贝深拷贝和循环引用总结对象的拷贝简介对象的拷贝,把一个

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py