ASP.NET(一)--WebForm简单介绍

article/2025/9/22 0:37:20

WebForm

B/S程序

浏览器服务应用程序,直接可以解释为网站类应用程序

在这里插入图片描述

静态网页与服务器技术

静态网页

  1. 以.html或以.htm为后缀的网页文件
  2. 只能单纯的显示文本和图像
  3. 无法和用户进行数据交互,无法根据用户的请求显示不同的网页内容(也就是无法和后台数据库交互)

服务器端开发技术

  1. 不仅可以显示文本和图像
  2. 还可以根据用户的需求,动态的显示不同的网页内容(可以和后台数据库交互)

客户端和服务器

B/S程序中的客户端和服务器的概念和C/S程序有着不同的辨别方式

.NET C/S中

  1. 客户端基本上是由Winform、WPF、控制台等后端语言设计好客户端界面,然后程序通过Socket网络或者服务等技术连接服务器进行工作
  2. 服务器端基本上以SQL数据库为主以及另外的服务端应用程序作为客户端的服务软件,服务器必备一个能够执行计算机语言的环境

.NET B/S中

  1. 客户端软件基本上指的是浏览器软件,而客户端程序指的是HTML页面,可以理解为BS项目其实就是将CS中的客户端通过HTML+CSS的页面替换,最终客户在浏览器中看见的永远都是HTML文件,因为浏览器能够执行的语言HTML+CSS+JS
  2. 服务器端是指远程具有执行服务器语言(C#/Java/PHP/Python…)等一系列计算机语言的环境的计算机,服务器语言能够访问数据库,根据请求将数据获取到之后在进行和客户端网页交互,将数据交给客户端显示

BS和CS

CS的工作原理:服务器计算机语言----数据库进行交互

BS的工作原理:客户端页面----服务器计算机语言----数据库进行交互

ADO.NET指的是通过C#语言访问数据库的这个过程技术

ASP.NET指的是客户端网页通过ADO.NET技术进行页面数据刷新的这个过程技术

服务器:必备的两个条件

  1. 能够支持服务端应用程序开发语言所能够正常运行的环境
  2. 服务器上必须提供一个支持应用程序的数据库(数据库直接放在服务器上也行,或者这个服务器要能够通过自身能够找到目标数据库)

常见的服务端开发技术

ASP、ASP.NET、JSP、PHP…

ASP

(Active Server Page)–动态服务器页面,使用VBScript开发后台程序

ASP.NET

  1. 基于.NET平台,可以使用C#也可以使用VB.NET开发后台程序
  2. ASP.NET主要用来开发Web应用程序
  3. ASP.NET程序主要运行在IIS中

了解IIS

  1. IIS(Internet Information Services)是微软的Internet服务器
  2. IIS是Windows Server操作系统免费捆绑的组件
  3. IIS是Web应用程序运行的服务器

WebForm

表单回顾

<form action="/" method="post"><input type="text" name="num1" value="" />+<input type="text" name="num2" value="" />=<input type="text" name="res" value="" /><input type="submit" name="btnRsault" value="计算" />
</form>
  1. 表单的作用:收集用户输入的数据,并提交给后台服务器
  2. 表单的组成:表单域、表单元素、提示信息
  3. 表单的属性:
    1. action:数据提交的目的地(后台数据接收与处理模块:C#文件)
    2. method:数据提交的形式(post:隐式发送;get显示发送)
    3. name:name属性决定哪个表单元素中的value的值能够被提交到后台

静态页面运行

  1. 文件目录作为地址运行:file:///E:/Y11%E7%8F%AD/0416ASP.NET-WebForm/code/ASP.NETWebDemo/ASP.NETWebDemo/01index.html
  2. 以虚拟服务地址运行:https://localhost:44305/01index.html

这两种运行方式完全不一样:打开html根目录运行html文件是不需要网络传输,必须要保证客户端计算机能够访问到目标地址文件。运行原理是:浏览器直接执行这个html文件

而虚拟服务地址运行,相当于将html文件存放在了一个服务器上,访问的时候只要网络能够打通则即可通过网络路径进行访问这个html文件。运行原理:浏览器先从服务器路径上将该html文件下载到本地浏览器内存中,然后执行下载的html文件

报文

当Form表达向服务器发起请求时,会将表单中设置有name属性的表单元素的value值放进报文中通过Internet网络传输,BS的数据传输基本上全部凭借报文进行传输数据,HTTP协议传输协议就是传输报文。报文的格式是世界万维网组织提供的报文格式

在这里插入图片描述

  1. 如果表单提交方式是以get提交:

    具有name属性的表单元素的value值会被封装在消息头的请求网址中随着网络进行传输,意味着可以在浏览器的URL框中的网址后面以“name1值=value1值&name2值=value2值…”形式传输

在这里插入图片描述

  1. 如果表单提交方式是以post提交:

    具有name属性的表单元素的value值会被封装在报文的参数中随着网络进行传输,意味着在浏览器的URL框中看不到传输的数据格式

在这里插入图片描述

总结:

  1. 如果表单元素的value值要被传输到服务器,则必须要设置name属性
  2. get提交则提交的数据信息会在URL框中出现,因此传输数据量有限,不安全,但是传输速度快
  3. post提交则提交的数据信息不回出现在URL框中,因此传输数据量没有限制,相对比较安全,但是传输速度相比较较慢

面试题

1、get在浏览器回退时是无害的,而post会再次请求。
2、get产生的URL地址可以被收藏,而post不会。
3、get请求会被浏览器主动缓存,而post不会,除非手动设置。
4、get请求只能进行URL编程,而post支持多种编码方式。
5、get请求参数会被完整保留在浏览器历史里,而post中的参数不会被保留。
6、get请求在URL中传送的参数有长度限制,而post没有。
7、对参数的数据类型,get只接受ascll字符,而post没有限制。
8、get不如post安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
9、get参数通过URL传递,post放在request body中。

一般处理程序

什么是一般处理程序

一般处理程序是一个后缀为.ashx的代码文件,该文件的类实现了IHttpHandler接口,这个类用于负责处理它所对应的URL的访问请求,并接受客户端发送的请求信息和发送响应内容。

提示:实现IHttpHandler接口的类是作为一个外部请求程序的前提,凡是没有实现该接口的类都不能被浏览器访问。

什么时候用

虽然通过标准的方式可以创建处理程序,但是实现的步骤比较复杂,为了方便网站开发中对处理程序的应用,从Asp.net 2.0开始,asp.net提供了称为一般处理程序的处理程序,允许我们使用比较简单的方式定义扩展名为ashx的专用处理程序。

对于asp.net网站来说,网站最佳的处理结果就是HTML网页,生成网页的工作通常使用扩展名为aspx的Web窗体来完成。对于处理结果不是HTML的请求,都可以通过一般处理程序完成。例如生成RSS Feed、XML、图片等。

一般处理程序是asp.net网站中最为简单、高效的处理程序,在处理返回类型不是HTML的请求中有着重要的作用。

简单理解:一般处理程序就类似于CS程序中的Program文件可以直接运行执行,可以处理一些简单的客户端的需求

    public class Handler1 : IHttpHandler{public void ProcessRequest(HttpContext context){context.Response.ContentType = "text/plain";context.Response.Write("Hello World");}public bool IsReusable{get{return false;}}

方法

  1. ProcessRequest方法:处理请求的方法,是一般处理程序的核心方法

    HttpContext参数:这个对象中包含有网络传输的所有的内容,例如客户端发起请求的所有的表单数据等

    HttpContext对象的属性:

    1. Request属性:是一个对象,这个对象包含有报文所有的请求头的数据信息
    2. Response属性:是一个对象,这个对象包含有报文所有的响应头的数据信息

http://chatgpt.dhexx.cn/article/jOn6YNP7.shtml

相关文章

关于webform的简单的基础操作 2.学会开发(一)

.net的B/S架构开发主要是MVC和webform的开发&#xff0c;因为WebForm是微软开发的一款产品&#xff0c;它将用户的请求和响应都封装为控件。让开发者认为自己是在操作一个windows界面&#xff08;和winform也是差不多的&#xff09;。极大地提高了开发效率。而MVC是由视图&…

35.Trie树:如何实现搜索引擎的搜索关键词提示功能

文章目录 1. 什么是“Trie树”&#xff1f;2. 如何实现一棵Trie树&#xff1f;3.Trie树真的很耗内存吗&#xff1f;4.Trie树与散列表、红黑树的比较5. 解答开篇 问题&#xff1a;搜索引擎的关键词的联想词是如何实现的&#xff1f; 1. 什么是“Trie树”&#xff1f; Trie树&a…

Trie树详解

什么是Trie树 Trie树又称字典树、单词查找树。是一种能够高效存储和查找字符串集合的数据结构。 可以快速的在集合中查询某个字符串 Trie树的本质就是利用字符串之间的公共前缀&#xff0c;将重复的前缀合并在一起 Trie的存储 Trie的存储形式就是构造成一个树形结构 比如我们以…

java trie_Trie树(字典树)的介绍及Java实现

简介 Trie树&#xff0c;又称为前缀树或字典树&#xff0c;是一种有序树&#xff0c;用于保存关联数组&#xff0c;其中的键通常是字符串。与二叉查找树不同&#xff0c;键不是直接保存在节点中&#xff0c;而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀&…

Trie前缀树

Trie前缀树 简介 Trie (发音为 "try") 又经常叫前缀树&#xff0c;字典树等等&#xff0c;是一种树数据结构&#xff0c;用于检索字符串数据集中的键。 在计算机科学中&#xff0c;trie是一种有序树&#xff0c;用于保存关联数组&#xff0c;其中的键通常是字符串…

Trie树

Trie树 文章目录 Trie树Trie树介绍应用场景举例代码实现例题 Trie树介绍 字典树 又称单词查找树&#xff0c;Trie树&#xff0c;是一种树形结构&#xff0c;是一种哈希树的变种。典型应用是用于统计&#xff0c;排序和保存大量的字符串&#xff08;但不仅限于字符串&#xff…

trie 树

一、普通 t r i e \rm trie trie 树 t r i e \rm trie trie 树又称字典树、前缀树&#xff0c;它把很多单词放到一棵树上&#xff0c;使用空间去换时间。 LUOGU2580 于是他错误的点名开始了 Description \text{Description} Description 给定 n n n 个互不相同且只含小写字…

Trie

文章目录 应用替换其他数据结构字典表达术语索引 算法排序全文检索 实现Bitwise triesCompressing triesExternal memory trie About Me Trie ,也叫做 digital tree(数字树) 有时候也是 radix tree(基数树) 或者 prefix tree(前缀树) (因为他们可以通过前缀进行搜索) 是一种 se…

Trie(字典树/前缀树)

字典树/前缀树 Trie&#xff08;发音类似 “try”&#xff09;或者说 前缀树&#xff08;字典树&#xff09; 是一种树形数据结构&#xff0c;用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景&#xff0c;例如自动补完和拼写检查。主要思想是利用字符…

trie(字典树、前缀树)

trie&#xff08;字典树、前缀树&#xff09; 1. trie原理 原理 trie树&#xff0c;又被称为字典树、前缀树&#xff0c;是一种高效地存储和查找字符串集合的数据结构。一般来说&#xff0c;用到trie的题目中的字母要么全是小写字母&#xff0c;要么全是大写字母&#xff0c;要…

Trie详解

Trie&#xff0c;又名字典树、单词查找树&#xff0c;可以较高效地实现统计、排序和保存大量的字符串。 顾名思义&#xff0c;Trie是一个树状的结构&#xff0c;按照树型结构来存储字符串&#xff0c;显然是一种以空间换时间的方法。整体上理解和实现都不会很难。 下面是实现方…

Trie 简介

一、Trie简介 在计算机科学中&#xff0c;Trie&#xff0c;又称字典树、前缀树、单词查找树或键树&#xff0c;是一种树形结构&#xff0c;是一种哈希树的变种。典型应用是用于统计&#xff0c;排序和保存大量的字符串&#xff08;但不仅限于字符串&#xff09;&#xff0c;所以…

Trie 字典树 详解

&#x1f60a; | Powered By HeartFireY | Tire Algorithm 一、字典树 1.字典树简介 字典树&#xff0c;英文名Trie&#xff0c;如其名&#xff1a;就是一棵像字典一样的树。 我们首先通过一张图来理解字典树的结构&#xff1a; 我们假定结点的顺序按照图中给定的顺序进行编…

Web前端面试题汇总(持续更新...)

H5 的新特性有哪些&#xff1f;C3 的新特性有哪些&#xff1f; H5 新特性 拖拽释放(Drap and drop) API ondrop自定义属性 data-id语义化更好的内容标签(header,nav,footer ,aside, article, section)音频 ,视频(audio, video) 如果浏览器不支持自动播放怎么办?在属性中添加…

Web前端面试题(全锦集)

1 第一部分&#xff1a; 聪明的猴子都在看右下角目录 点击查看更多资源 前端基础(HTML CSS JS基础) 1. 怎么让一个不定宽高的 DIV&#xff0c;垂直水平居中&#xff1f; 答&#xff1a;1.使用 CSS 方法&#xff1a; 父盒子设置&#xff1a;display&#xff1a;table…

web前端开发面试题(一)

一、html部分 1.1 link和import 区别如下&#xff1a; 1.1.1从属关系区别 import是 CSS 提供的语法规则&#xff0c;只有导入样式表的作用&#xff1b;link是HTML提供的标签&#xff0c;不仅可以加载 CSS 文件&#xff0c;还可以定义 RSS、rel 连接属性等。 2.加载顺序区别…

Web常见前端面试题及答案

前端技术导航大全 1、盒子模型 盒子模型包括四部分&#xff1a;内容&#xff08;content&#xff09;、填充&#xff08;padding&#xff09;、边框&#xff08;border&#xff09;、边界&#xff08;margin&#xff09; 盒子模型可以分为两种&#xff1a;IE盒子模型和W3C标准…

web前端开发面试题(七)

前端面试题第七天 一、HTML 部分 1.1 iframe框架都有哪些优缺点 在讲iframe框架之前 先聊聊iframe吧 定义&#xff1a;iframe是HTML标签&#xff0c;作用是文档中的文档&#xff0c;或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架&#xff08;即行内框…

2020 web前端面试题及答案大全

css相关 1. 万能居中 1.margin: 0 auto;水平 2.text-align: center;水平 3.行高&#xff0c;垂直 4.表格&#xff0c;center,middle&#xff1b;水平垂直 5.display:table-cell&#xff1b;模拟表格&#xff0c;all 6.绝对定位&#xff0c;50%减自身宽高 7.绝对定位&#xff…

初级web前端面试题

文章目录 一、JS1、js基本类型和引用类型2、如何判断js数据类型3、js 拷贝4、事件处理机制5、原型和原型链6、什么是闭包7、事件循环机制&#xff08;event loop&#xff09;8、前端模块化9、es6新增特性1.let代替var关键字&#xff1b;2.const3.箭头函数4.字符串模板 &#xf…