动态网站开发技术学习4:ASP.NET内置对象之Request对象

news/2024/5/20 14:13:15/文章来源:https://blog.csdn.net/erlian1992/article/details/50033079

        Request对象的作用是与客户端交互,收集客户端的Form、Cookies、超链接,或者收集服务器端的环境变量。

request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或

在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主

要用来处理客户端浏览器提交的请求中的各项参数和选项。

        Request对象用于封装客户端请求信息,检索浏览器向服务器发送的消息。当用户访问网站时,服务器从用户端

获取相关信息,也可以说用户向服务器发送请求,要求其响应操作。Request对象最大的用途在于提交表单信息,可

获取页面间传递的值,客户端浏览器的信息,客户端的IP地址以及当前页面的路径等。基本用户是读取对象或参数的内容。

       Request对象的常用属性:


       Request对象的常用方法:


       一获取页面间传送的值

       获取页面传送参数值是Request对象最广泛的应用之一。ASP.NET可根据所获取的参数执行不同的程序操作。页

面间传递参数常常通过超链接来实现的,基本语法结构如下:

       Url?VariableName1=value1&VariableName2=value2;

      上面的代码中Url为页面的网址,VariableName1为页面的传递变量,value1与value2为变量值,&符号是多参数的

连接符号。即有两个以上传递变量时,用&符号进行连接。进行页面传递参数,默认数据类型是字符串。即使是数值

型也默认为字符串。

       获取页面传递参数值有四种方法:

       (1)方法一:Request.QueryString["VariableName"];

       用来获取客户端通过GET方式传送的数据。GET方式将传送的值显示在浏览器的地址栏中,安全性比较低,但效

率比较高,适用于比较简单的数值。参数VariableName为页面传递的变量名或控件名。

       (2)方法二:Request.Form["VariableName"];

       用来获取客户端通过POST方式提交的数据。POST方式传递的值在地址栏中看不到,安全性较高,但效率比较

低,可以传送的数据大小没有限制。

       (3)方法三:Request["VariableName"];

       获取客户端通过GET或POST方式提交的数据。

       (4)方法四:Request.Params["VariableName"]

       获取客户端通过GET或POST方式提交的数据。

      上面一直提到客户端的提交方式GET方法和POST方法,这两个表单提交方式我已经详细的区别过,可以参考的

博文为:HTML学习11:HTTP 方法。详细的了解也可以百度!

       实例:主要通过Request对象的不同属性实现获取请求页的值

       程序实现的主要步骤:

       (1)新建一个网站,默认主页为Default.aspx。在页面上添加一个Button控件,ID属性设置为"btnRedirect",Text属

设置为"跳转"。在按钮的btnRedirect_Click事件中实现页面跳转并传值的功能。

       Default.aspx的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title>
</head>
<body><form id="form1" runat="server"><div>按下下面的按钮,跳转到你所重定向的页面<br /><asp:Button ID="btnRedirect" runat="server" Text="跳转" οnclick="btnRedirect_Click" /></div></form>
</body>
</html>

       Default.aspx.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){}protected void btnRedirect_Click(object sender, EventArgs e){//通过页面重定向的方法跳转到Request.aspx页面Response.Redirect("Request.aspx?value=获得GET方式页面传送的值");}
}

       (2)在该网站中,添加一个新页,将其命名为Request.aspx。在页面Request.aspx的初始化事件中用不同获取GET

方法获取Response对象传递过来的参数,并将其输出在页面上。

       Request.aspx代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Request.aspx.cs" Inherits="Request" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title>
</head>
<body><form id="form1" runat="server"><div style="color:Red;font-size:24px;">这是页面重定向跳转的页面!!!</div></form>
</body>
</html>
       Request.aspx.cs代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class Request : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){//通过GET方法提交页面传送的值Response.Write("使用Request.QueryString[stringkey]方法" + Request.QueryString["value"] + "<br/>");Response.Write("使用Request[string key]方法"+Request["value"]+"<br/>");  Response.Write("使用Request.Params[string key]方法"+ Request.Params["value"] + "<br/>");  }
}

       运行结果:


       点击按钮后:


       二获取客户端信息

       语法结构:

       (1)获取客户端浏览器信息

       在访问Web站点时,服务器通常会记录客户端的一些信息,例如浏览器的类型,名称,版本,操作平台等,可通

过Request.Brower来获取。

       (2)获取客户端的IP地址

       方法一:通过Request.UserHostAddress获取。

       方法二:通过Request.ServerVariables["REMOTE_ADDR"]获取。

       (3)获取当前页面的路径

       通过Request.CurrentExecutionFilePath获取当前页面的虚拟路径。

       通过Request.PhysicalPath获取当前页面的物理路径。

       虚拟路径采用正斜杠“/”,而物理路径采用反斜杠“\”。虚拟路径和物理路径我们在后面会有详细的介绍。

       实例:主要通过Request对象的Browser属性获取客户端一些信息。

       程序实现的主要步骤:

       (1)新建一个网站,默认主页为Default.aspx。在页面的设计视图添加三个Button控件,设置它们的text属性分别

为:获取客户端浏览器信息,获取客户端IP地址,获取当前页面路径。

      Default.aspx的代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title>
</head>
<body><form id="form1" runat="server"><div><asp:Button ID="Button1" runat="server" Text="获取客户端浏览器信息" οnclick="Button1_Click" /><asp:Button ID="Button2" runat="server" Text="获取客户端IP地址" οnclick="Button2_Click" /><asp:Button ID="Button3" runat="server" Text="获取当前页面路径" οnclick="Button3_Click" /></div></form>
</body>
</html>

      (2)在Default.aspx.cs的Button1_Click事件中先定义HttpBrowserCapabilities的类对象用于获取Request对象的

Browser属性的返回值。

      Default.aspx.cs代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class _Default : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){foreach (var p in Request.UserLanguages){Response.Write("UserLanguages属性:" + p + "<br/>");}Response.Write("UserHostName属性:" + Request.UserHostName + "<br/>");Response.Write("UserHostAddress属性:" + Request.UserHostAddress + "<br/>");Response.Write("Url属性:" + Request.Url + "<br/>");Response.Write("PhysicalApplicationPath属性:" + Request.PhysicalApplicationPath + "<br/>");Response.Write("Browser属性:" + Request.Browser + "<br/>");Response.Write("<hr/>");}protected void Button1_Click(object sender, EventArgs e){HttpBrowserCapabilities b = Request.Browser;Response.Write("客户端浏览器信息:");Response.Write("<hr/>");Response.Write("类型:" + b.Type + "<br/>");Response.Write("名称:" + b.Browser + "<br/>");Response.Write("版本:" + b.Version + "<br/>");Response.Write("操作平台:" + b.Platform + "<br/>");Response.Write("是否支持框架:" + b.Frames + "<br/>");Response.Write("是否支持表格:" + b.Tables + "<br/>");Response.Write("是否支持Cookies:" + b.Cookies + "<br/>");Response.Write("<hr/>");}protected void Button2_Click(object sender, EventArgs e){Response.Write("客户端IP地址:");Response.Write("<hr/>");Response.Write("方法一:通过Request.UserHostAddress获取客户端IP地址:" + Request.UserHostAddress+"<br/>");Response.Write("方法一:通过Request.ServerVariables['REMOTE_ADDR']获取客户端IP地址:" + Request.ServerVariables["REMOTE_ADDR"] + "<br/>");Response.Write("<hr/>");}protected void Button3_Click(object sender, EventArgs e){Response.Write("当前页面路径:");Response.Write("<hr/>");Response.Write("当前页面虚拟路径为:" + Request.CurrentExecutionFilePath + "<br/>");Response.Write("当前页面物理路径为:" + Request.PhysicalPath + "<br/>");Response.Write("<hr/>");}
}   
       运行的结果为:


      点击获取客户端浏览器信息按钮:


      点击获取客户端IP地址按钮:


      点击获取当前页面路径按钮:




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_768578.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站注册如何让防止被恶意刷....

最近公司平台推出填写推荐人送10券,然后被些恶意分子刷了. 注册时只有短信验证~现在加了点击生成验证码,感觉还是防不住~ 被这样的软件恶意刷了~很是可恶,有没有大神推荐个防刷机制. 一开始短信的话,他们是利用多线程凑短信验证码,现在加了次数,加了页面验证码.理论上经过2道验…

浅谈web网站架构演变过程

前言 我们以javaweb为例&#xff0c;来搭建一个简单的电商系统&#xff0c;看看这个系统可以如何一步步演变。该系统具备的功能&#xff1a;用户模块&#xff1a;用户注册和管理商品模块&#xff1a;商品展示和管理交易模块&#xff1a;创建交易和管理 阶段一、单机构建网站 网…

用python爬取网站数据xlwt、bs4_python requests+beautifulsoup4爬取全国医院信息

import requests,re,xlwt,datetimefrom bs4 import BeautifulSoup#初始化def init():global url, headersurl https://www.zgylbx.com/index.php?mcontent&cindex&alists&catid106&pageheaders {"Accept": "text/html,application/xhtmlxml,…

转:移动建站工具(一):分秒钟将Web网站移动化

作者唐小引移动建站工具Web移动化简易开发MobifyTOPMobile Joomla!MoFuseWordPress优化摘要&#xff1a;时下移动端显然已是诸多企业都想要占领的重要阵地。但限于较小的屏幕及流量问题&#xff0c;移动设备并不适合直接浏览Web网站。本文介绍了13款Web-to-Mobile建站工具&…

[转] 国内某基于ASP.NET的大型网站的架构设计图

转载于:https://www.cnblogs.com/maizhongfei/p/4154463.html

Hero Patterns - 聚合各种 SVG 背景纹理素材的网站

Hero Patterns 是一个聚合了各种 SVG 背景纹理素材的网站&#xff0c;提供的多样的素材可以给你的网站带去特色。 SVG 是一种分辨率无关的图形&#xff08;矢量图形&#xff09;。这意味着它在任何类型的屏幕都不会遭受任何质量损失。 立即去看看 您可能感兴趣的相关文章网站开…

javascript网站背景音乐

∶∶网站背景音乐∶∶ [怎么添加背景音乐]&#xff1a;将这段代码插入到您的<首页布告>内容中&#xff0c;当您打开网站时即可听到背景音乐&#xff1a; <bgsound src/textbook/matter/music/china.mid loop"-1">[怎么换成自己喜欢的音乐]&#xff1a;请…

github+hexo搭建自己的博客网站(五)进阶配置(畅言实现博客的评论)

如何对如何搭建hexogithub可以查看我第一篇入门文章&#xff1a;http://www.cnblogs.com/chengxs/p/7402174.html 详细的可以查看hexo博客的演示&#xff1a;https://saucxs.github.io/ 同时绑定了域名&#xff1a;http://www.chengxinsong.cn/ 可以查看在github上生成的静态文…

网站添加订阅

如果你像我一样正在做一个个人博客或者正在建立一个网站&#xff0c;那么给你的网站添加RSS订阅功能会为你的访问者提供极大的便利。通常人们使用RSS阅读 器来订阅自己关注的网站&#xff0c;除了专用的RSS阅读器之外&#xff0c;现在大部分浏览器也都提供了RSS订阅功能。还有一…

python下调用pytesseract识别某网站验证码

一、pytesseract介绍 1、pytesseract说明 pytesseract最新版本0.1.6&#xff0c;网址&#xff1a;https://pypi.python.org/pypi/pytesseract Python-tesseract is a wrapper for googles Tesseract-OCR( http://code.google.com/p/tesseract-ocr/ ). It is also useful as ast…

网站设计之Meta标签

HTML语言中的META元素&#xff0c;它位于HTML文档头部的<HEAD>标记和<TITLE>标记之间&#xff0c;它提供用户不可见的信息。meta标签通常用来为搜索引擎robots定义页面主题&#xff0c;或者是定义用户浏览器上的cookie&#xff1b;它可以用于鉴别作者&#xff0c;设…

Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表(显示数据 二)...

在Sharepoint学习笔记---如何在Sharepoint2010网站中整合Crystal Report水晶报表&#xff08;显示数据一&#xff09;中&#xff0c;解释了如何把Crystal Report整合到Sharepoint2010并把报表数据显示出来&#xff0c;但这样并不完整&#xff0c;因为我们在开发时是以系统帐户进…

网站结构优化的基本方法

网站结构优化的基本方法网站结构优化就是对网站页面的存储方式&#xff08;物理结构&#xff09;、内部链接关系&#xff08;逻辑结构&#xff09;进行合理的调整&#xff0c;以减少网站的目录层级&#xff0c;优化普通页面与重要页面之间的链接深度&#xff0c;增加重要页面的…

在SharePoint页面中如何显示来自其他网站的List

&#xff08;作者&#xff1a;闪电&#xff0c;转载请注明出处&#xff09; 为了方便用户使用&#xff0c;我们会把SharePoint网站设计成层次结构&#xff0c;并希望用户在主页上看到来自子网站的内容。比如希望把放在父网站的一个列表的内容显示在子网站的主页上面。这种需求看…

25个惊人的大背景图片网站设计案例

高品质的照片&#xff0c;可以有一个网站的外观上的巨大影响。照片可以帮助提高设计&#xff0c;或它们可以作为一个联络点。在某些情况下&#xff0c;整个网站的背景&#xff08;或大的百分比&#xff09;将组成一个大的照片。其他的设计元素&#xff0c;在这些情况下清盘的照…

域名、网站名、URL 、URI、网关、网卡、交换机

域名&#xff0c;相信大家都不默认&#xff0c;也使用过无数次&#xff01;比如&#xff1a; google.com、baidu.com、163.com等。 这时候&#xff0c;你可能要奇怪了&#xff0c;为什么小编没有在前面加上www? 因为正常情况下&#xff0c;不应该是www.baidu.com之类的吗&…

手机网站设计案例

如果你是一个网站所有者自己&#xff0c;你应该想想你的网站有一个移动版本&#xff0c;这应该是下一步的行动&#xff0c;在我看来你未来的计划的人使用他们的手机访问互联网的人数与日俱增。 建立一个网站的移动版本这并不复杂&#xff0c;你只需要一些技巧&#xff0c;这些可…

现在90,00后经常上哪些网站?喜欢看啥网站?

现在90&#xff0c;00后经常上哪些网站?喜欢看啥网站&#xff1f; 13页PPT&#xff1a;揭秘90后最全研究报告&#xff01; | 网站运营http://www.iyunying.org/seo/sjfx/61716.html90后男生明显比90后女生更愿意在天猫上购买服装和鞋。在天猫上&#xff0c;男装的购买偏好为49…

Web网站技术选型

存在即合理&#xff0c;没有最好的框架&#xff0c;只有最合适的框架。 一切脱离需求和技术储备的选型都是耍流氓&#xff01; 鱼与熊掌&#xff1a;选择流行框架还是兼容低版本IE&#xff08;IE8及以下&#xff09; HTML5、CSS3 HTML5新标签以及CSS3的新属性在IE6/IE7/IE8上不…

网站系统架构层次

平台的建立前期先做一个预设框架&#xff0c;打地基&#xff0c;然后根据这个地基一点一点的填充&#xff0c;并优化。 网站系统架构层次如下图所示&#xff1a; 1、前端架构 前端指用户请求到达网站应用服务器之前经历的环节&#xff0c;通常不包含网站业务逻辑&#xff0c;不…