From fc19fad91f47e8c78e1b3714ea6d09be15637ce9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B9=B3?= <2466629710@qq.com> Date: Fri, 20 May 2022 06:52:41 +0000 Subject: [PATCH 1/7] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=2010?= =?UTF-8?q?=E4=BD=99=E9=87=91=E6=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Webform\345\210\235\350\257\206.md" | 58 --------- ...51\235\242\345\257\271\350\261\241Page.md" | 121 ------------------ 2 files changed, 179 deletions(-) delete mode 100644 "10\344\275\231\351\207\221\346\230\237/Webform\345\210\235\350\257\206.md" delete mode 100644 "10\344\275\231\351\207\221\346\230\237/\351\241\265\351\235\242\345\257\271\350\261\241Page.md" diff --git "a/10\344\275\231\351\207\221\346\230\237/Webform\345\210\235\350\257\206.md" "b/10\344\275\231\351\207\221\346\230\237/Webform\345\210\235\350\257\206.md" deleted file mode 100644 index fa94bba..0000000 --- "a/10\344\275\231\351\207\221\346\230\237/Webform\345\210\235\350\257\206.md" +++ /dev/null @@ -1,58 +0,0 @@ -## Webform初始 - -action = "一般处理程序" -method = post(隐式发送) -method = get(显式发送) - -创建第一个Web应用窗体 - -```asp -
- 账号: - 密码: - -
-``` - -```c# -//一般处理程序 -public void ProcessRequest(HttpContext context) -{ - context.Response.ContentType = "text/plain"; - //1.从前台接收数据到后台 - string uname = context.Request.Params["uname"]; - string upwd = context.Request.Params["upwd"]; - DATA.LoginCheck lc = new DATA.LoginCheck(); - if (lc.CheckAccount(uname, upwd)) - { - context.Response.Write("登陆成功"); - } - else - { - context.Response.Write("用户名或者密码错误"); - } -} -public bool IsReusable //是否自动缓存 -{ - get - { - return false; - } -} -``` - -```c# -//模拟数据库 -public bool CheckAccount(string uname, string upwd) -{ - if (uname == "123" && upwd == "admin") - { - return true; - } - else - { - return false; - } -} -``` - diff --git "a/10\344\275\231\351\207\221\346\230\237/\351\241\265\351\235\242\345\257\271\350\261\241Page.md" "b/10\344\275\231\351\207\221\346\230\237/\351\241\265\351\235\242\345\257\271\350\261\241Page.md" deleted file mode 100644 index 34e8005..0000000 --- "a/10\344\275\231\351\207\221\346\230\237/\351\241\265\351\235\242\345\257\271\350\261\241Page.md" +++ /dev/null @@ -1,121 +0,0 @@ -## 页面对象Page - -#### 网页生成过程分析 - -```tex -第一次请求: - 1.ASp.NET引擎 - 2.后台.cs编码类 - 3.生成的页面类-编译 - 4.数据库-处理 - 5.程序集处理并合成数据(响应) -第二次请求: - 5.程序集处理并合成数据(响应) -``` - -#### 网页生成过程总结 - -```tex -1.客户端点击提交按钮或者触发控件的事件 -2.服务器端刷新整个页面 -3.执行page_load事件 -4.执行具体控件的事件并给页面控制赋值 -5.重新生成新页面的HTML -6.使用Response对象返回包含新数据的html页面 -7.浏览器看到刷新后的页面 -``` - -#### Page.IsPostBack属性 - -```asp -
-
-
- -
-
-
-``` - -```c# -protected void Page_Load(object sender, EventArgs e) -{ - //如果是第一次加载: - //TextBox1.Text = "请输入账号"; - //如果是回发, - - //第一次加载 - if (!IsPostBack) - { - TextBox1.Text = "请输入账号"; - } - else //回发 - { - - } -} -protected void Button1_Click(object sender, EventArgs e) -{ - TextBox2.Text = TextBox1.Text; -} -``` - -#### 页面传值 - -```tex -//存放信息 -ViewState["ID名称"]="1"; -//读取信息 -String ID名称 = ViewState["ID名称"].ToString(); -``` - -#### 跨页面传值 - -```asp -页面Page1 -
-
- 账号:
- 密码:
- -
-
-``` - -```c# -protected void Page_Load(object sender, EventArgs e) -{ - -} -``` - -```asp -页面Page2 -
-
- -
-
-``` - -```c# -protected void Page_Load(object sender, EventArgs e) -{ - //判断是否起始页,如果是起始页,Page.PreviousPage将为空 - if (Page.PreviousPage != null) - { - //PreviousPage.FindControl(string id):在当前的命名容器中(这里指定的是PreviousPage)搜索 指定 id - TextBox t1 = (TextBox)PreviousPage.FindControl("TextBox1"); - TextBox t2 = (TextBox)PreviousPage.FindControl("TextBox2"); - if(t1.Text == "123" && t2.Text == "admin") - { - lbl2.Text = "登陆成功"; - } - else - { - lbl2.Text = "用户名或密码错误"; - } - } -} -``` - -- Gitee From c8a1fc155cdbf2a5f8ae3616f71c4fade0855adb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B9=B3?= <2466629710@qq.com> Date: Fri, 20 May 2022 06:52:49 +0000 Subject: [PATCH 2/7] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=2015?= =?UTF-8?q?=E5=90=B4=E6=98=8E=E6=9D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ASP.NET\347\256\200\344\273\213.md" | 287 ------------------ 1 file changed, 287 deletions(-) delete mode 100644 "15\345\220\264\346\230\216\346\235\260/ASP.NET\347\256\200\344\273\213.md" diff --git "a/15\345\220\264\346\230\216\346\235\260/ASP.NET\347\256\200\344\273\213.md" "b/15\345\220\264\346\230\216\346\235\260/ASP.NET\347\256\200\344\273\213.md" deleted file mode 100644 index 02494ec..0000000 --- "a/15\345\220\264\346\230\216\346\235\260/ASP.NET\347\256\200\344\273\213.md" +++ /dev/null @@ -1,287 +0,0 @@ -一、Webform初识 - -## (1)ASP.NET简介 - -#### 1.c/s b/s - -- C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库(“MySQL知识库”)系统,如Oracle、Sybase、InFORMix或SQL Server。客户端需要安装专用的客户端软件。 -- B/S是Browser/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、InFORMix或SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。 - -#### 2.静态网页&服务器端开发技术 - -静态网页: - -- 以.html 或者.htm 结尾的网页 -- 只能单纯的显示文本和图像 -- 无法和用户接互,无法根据用户的请求显示不同的网页内容 - -服务器端开发技术: - -- 不仅可以显示文本和图像 -- 还可以根据用户请求,动态显示不同的网页内容(与后台交互) - -#### 3.ASP.NET优点 - -- 与浏览器无关 -- 将业务逻辑代码与显示逻辑分开 -- 新的集成开发环境 -- 简单性和易学性 -- 用户帐户和角色 -- 多处理器环境的可靠性 -- 高效的可管理性 -- 执行效率的大幅提高 -- 易于配置和部署 - -#### 4.ASP.NET功能 - -- 多语言支持 -- 代码编译执行 -- 缓存机制 -- 服务器控件 -- Web服务 -- 状态管理 -- 安全管理 -- 配置和部署 - -#### 5.常见的服务端开发技术 - -PHP 、 ASP 、 ASP.NET 、 JSP、 ... - -了解ASP: - -- Active Server Page -- 动态服务器页面,使用vbscript开发后台程序 - -ASP.NET: - -- 基于.NET平台,可以使用C#和VB.NET开发后台应用程序 -- ASP.NET主要用来开发Web应用程序 -- ASP.NET程序运行在IIS中 - -#### 6.IIS - -- 同样是动态网页技术,ASP.NET就像JSP需要Tomcat服务器或者Apache服务器一样,ASP.NET也需要使用Web服务器作为其发布平台,一般使用IIS作为其Web服务器。IIS是Internet信息服务(Internet Information Server)的缩写,是微软的Internet服务器 -- IIS是Windows Servers 操作系统免费捆绑的组件 -- IIS是web应用程序运行的服务器 - -#### 7.创建第一个Web应用程序 - -创建新的ASP.NET Web 应用程序->Web Forms->勾选掉为HTTPS配置->创建Web窗体 - -#### 7.总结 - -- ASP.NET是创建动态Web页的一种强大的服务器端新技术 -- IIS(Internet Information Services,Internet信息服务)是基于Windows服务器的服务,可帮助在任何Intranet或Internet上发布信息 -- Web窗体是一项ASP.NET功能,可以使用它为Web应用程序创建用户界面 -- Web窗体将Web应用程序分两部分:可视化组件和该页的编程逻辑 - -## (2)页面对象 - -#### 1.网页脚本 - -通常网页脚本可以完成以下任务 - -- 指定输入文本或单击按钮后页面的行为 -- 根据用户的输入或选择将应用程序从一个页面导航至其他页面 -- 收集或存储来自客户端的信息 -- 执行数据库操作,如查询、显示数据库数据等 - -按照脚本执行的位置,网页脚本可分为服务器端脚本和客户端脚本 - -##### a.服务器脚本 - -服务器端脚本也是页面的一部分,它不发送至浏览器,而是在请求页面之后和在回送至浏览器之前由服务器处理这些脚本。 - -```html - -``` - -runat=“server” :此属性指定script块中包含的代码在服务器而不是客户端上运行。此属性对于服务器端代码块是必须的 - -language属性:用于代码声明的语言 - -##### b.客户端脚本 - -客户端脚本是页面的一部分,当用户请求页面时,就将这些脚本发送至浏览器。客户端脚本包含要在客户端执行的脚本代码,通常对客户端事件进行响应。**JavaScript** - -客户端脚本可以实现: - -- 在将某个页面加载至浏览器或用户单击按钮时,改变页面的外观; -- 验证用户在窗体中输入的数据,将通过验证的数据发送至服务器; -- 当触发按钮的单击事件时,在浏览器显示相关的信息。 - -#### 2.ASP.NET Web 运行原理 - -| **UserLogin.aspx** | **UserLogin.aspx.cs** | **Webform** | -| ------------------ | --------------------- | -------------------------- | -| **可视化组件** | 编程逻辑(代码隐藏) | 由.aspx与aspx.cs共同组成了 | -| -> | -> | Webform网站页面 | - -#### 3.网页生成过程 - -1. 客户端点击提交按钮或者触发控件的事件 -2. 服务器端刷新整个页面 -3. 执行page_load事件 -4. 执行具体控件的事件并给页面控制赋值 -5. 重新生成新页面的HTML -6. 使用Response对象返回包含新数据的html页面 -7. 浏览器看到刷新后的页面 - -#### 4.理解回发 - -1.理解网页的首次加载和回发加载的时机 - -| 当首次打开页面 | 激发事件回传数据-> | 服务器 | -| -------------- | ------------------ | ------ | -| 执行事件 | 处理事件返回数据<- | | - -- 产生的时机:当用户操作让表单产生submit时,回发产生。 -- 原理分析:当前网页被提交给服务处理,处理时会对当前网页再次加载(重新绘制)。 -- Load事件:不管是首次加载还是回发,都会触发Load事件 - -#### 5.Page指令 - -| **属** **性** | **说** **明** | -| ------------------ | ------------------------------------------------------------ | -| AutoEventWireUp | 设置为True时,指定页面事件自动触发。这个属性的默认设置是True | -| Buffer | 设置为True时,支持HTTP响应缓存。这个属性的默认设置是True | -| ClassName | 指定编译页面时绑定到页面上的类名 | -| CodeFile | 引用与页面相关的后台编码文件 | -| CodePage | 指定响应的代码页面值 | -| ContentType | 把响应的HTTP内容类型定义为标准MIME类型 | -| Debug | 设置为True时,用调试符号编译页面 | -| EnableSessionState | 设置为True时,支持页面的会话状态,其默认设置是False | -| EnableTheming | 设置为True时,页面可以使用主题。其默认设置是False | -| EnableViewState | 确定是否为服务器控件保持页面的ViewState。默认值是True | - -| **ErrorPage** | 为所有未处理的页面异常指定用于发送信息的URL | -| ---------------- | ------------------------------------------------------------ | -| Language | 定义内置显示和脚本块所使用的语言 | -| MasterPageFile | 带一个String值,指向页面所使用的master页面的地址。这个属性在内容页面中使用 | -| ResponseEncoding | 指定页面内容的响应编码 | -| Theme | 使用主题功能,把指定的主题应用于页面 | -| Title | 应用页面的标题。这个属性主要用于必须应用页面标题的内容页面,而不是应用master页面中指定内容的页面 | -| Trace | 设置为True时,激活页面跟踪,其默认值是False | -| TraceMode | 指定激活跟踪功能时如何显示跟踪消息。这个属性的设置可以是SortByTime或SortByCategory,默认设置是SortByTime | -| Transaction | 指定页面上是否支持事务处理。这个属性的设置可以是NotSupported、Supported、Required和RequiresNew,默认值是NotSupported | - -#### 6.Page对象事件-1 - -- AbortTransaction -- CommitTransaction -- DataBinding -- Disposed -- Error -- Init -- Load -- PreRender -- Unload - -#### ==7.Page对象事件-2== - -较常用的一个页面事件是Load,它在C#中的用法如下所示: - -```c# -protected void Page_Load(object sender, EventArgs e) -{ - Response.Write("This is the Page_Load event"); -} -``` - -#### 8.Page对象事件-3 - -主页面事件的启动顺序 - -1. PreInit -2. Init -3. InitComplete -4. PreLoad -5. Load -6. LoadComplete -7. PreRender -8. PreRenderComplete -9. Unload - -#### ==9.Page对象属性== - -| Application | 为当前Web请求获取Application对象。对于每个Web应用程序来说,只须一个该对象的实例。它是由所有访问该Web应用程序的客户端共享的 | -| ------------------------------ | ------------------------------------------------------------ | -| EnableViewState | 指定当前页面上的服务器控件是否在页面请求之间保持ViewState。该值影响网页上的所有控件 | -| 同时取代控件自身的任何个人设置 | | -| ErrorPage | 获取或设置错误页,在发生未处理的页异常的事件时请求浏览器将被重定向到该页 | -| ID | 用于获取或设置Page类的特定实例的标识符 | -| IsPostBack | 获取一个值,该值指示页面是否正为响应客户端回发而加载,或者它是否正被首次加载和访问 | -| IsValid | 获取一个值,该值指示页面验证是否成功 | -| Request | 用于获取HttpRequest对象,此对象与从客户端发送HTTP请求数据的当前页面关联 | -| Response | 用于获取HttpResponse对象,此对象与向客户端发送HTTP响应数据的当前页面关联 | -| server | 对当前Server对象的引用 | -| Session | 用于获取ASP.NET提供的当前Session对象 | - -#### 10.Page.IsPostBack属性 - -如何判断回发或者首次加载?如果是首次加载返回false,如果是回发则返回true - -在Page_Load事件中编写如下代码: - -```c# -protected void Page_Load(object sender, EventArgs e) -{ - if(!Page.IsPostBack)//判断是否回发 - { - //r - this.IbITime.Text=System.DateTime.Now.ToString(); - } - else//回发 - { - - } - -} -``` - -#### ==11.页面指令== - -```html -<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Text.aspx.cs" Inherits="_02页面对象.Text" %> -``` - -页面对象: - -- 每个.aspx文件对应一个Page对象 -- .aspx页面与后台代码类(局部类)合并生成页面类 -- Page对象是页面类的实例 -- 所有的.aspx文件(Web窗体页)都继承自System.Web.UI.Page类 - -#### ==12.页内数据传递== - -在ASP.NET中可以利用视图状态实现页内数据的传递 - -```c# -//存放信息 -ViewState["nameId"]="0001"; - -//读取信息 -String NameID = ViewState["nameID"].ToString(); -``` - -#### ==13.跨页数据传递== - -步骤: - -1.在Page1中使用IsPostBackUrl指定Page2 - -2.在Page2中的Page_Load编写代码: - - 1) 首先判断Page2页面是否有上一页,如果是==没有==那么Page.Previous == null - - 2)其次使用Previous.FindControl()查找上一页的指定ID值 - -#### ==14.总结== - -- ASP.NET页文件是含有将在Web上执行代码的文件,其扩展名是.aspx或.ascx -- ASP.NET页面中使用两种类型的脚本 -- 服务器端脚本 -- 客户端脚本 -- 事件处理程序实际上就是一个子程序,执行任何给定事件的相关代码 -- 在页面加载时引发Page_Load事件。 -- Page.IsPostBack属性用于检查页面是否为首次加载 -- 可以使用PreviousPage对象访问前一个页面的控件值 \ No newline at end of file -- Gitee From a5ea75710440023738a6f57813ab7308860e6127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B9=B3?= <2466629710@qq.com> Date: Fri, 20 May 2022 06:52:56 +0000 Subject: [PATCH 3/7] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=2024?= =?UTF-8?q?=20=E9=99=88=E9=92=B0=E9=94=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.keep" | 0 .../5.17 \347\254\224\350\256\260.md" | 57 ------------------- 2 files changed, 57 deletions(-) delete mode 100644 "24 \351\231\210\351\222\260\351\224\213/.keep" delete mode 100644 "24 \351\231\210\351\222\260\351\224\213/5.17 \347\254\224\350\256\260.md" diff --git "a/24 \351\231\210\351\222\260\351\224\213/.keep" "b/24 \351\231\210\351\222\260\351\224\213/.keep" deleted file mode 100644 index e69de29..0000000 diff --git "a/24 \351\231\210\351\222\260\351\224\213/5.17 \347\254\224\350\256\260.md" "b/24 \351\231\210\351\222\260\351\224\213/5.17 \347\254\224\350\256\260.md" deleted file mode 100644 index d1891e7..0000000 --- "a/24 \351\231\210\351\222\260\351\224\213/5.17 \347\254\224\350\256\260.md" +++ /dev/null @@ -1,57 +0,0 @@ - - -1) . 网页脚本 - -通常网页脚本可以完成哪些任务? -指定输入文本或单击按钮后页面的行为 -根据用户的输入或选择将应用程序从一个页面导航至其他页面 -收集或存储来自客户端的信息 -执行数据库操作,如查询、显示数据库数据等 -按照脚本执行的位置,网页脚本可分为服务器端脚本和客户端脚本 - - - -3) .页面指令 - - <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Text.aspx.cs" Inherits="_02页面对象.Text" %> - -4) 页面对象 - - ``` - 3) - 4) 每个.aspx文件对应一个Page对象 - .aspx页面与后台代码类(局部类)合并生成页面类 - Page对象是页面类的实例 - 所有的.aspx文件(Web窗体页)都继承自System.Web.UI.Page类 - ``` - - - -4) .页内传值 - -//存放信息 -ViewState["nameId"]="0001"; - -//读取信息 -String NameID = ViewState["nameID"].ToString(); - -4) .跨页面传值 - -步骤: -1.在Page1中使用IsPostBackUrl指定Page2 -2.在Page2中的Page_Load编写代码: - 1) 首先判断Page2页面是否有上一页,如果是没有那么Page.Previous == null - 2)其次使用Previous.FindControl()查找上一页的指定ID值 - - - -总结 - -ASP.NET页文件是含有将在Web上执行代码的文件,其扩展名是.aspx或.ascx -ASP.NET页面中使用两种类型的脚本 -服务器端脚本 -客户端脚本 -事件处理程序实际上就是一个子程序,执行任何给定事件的相关代码 -在页面加载时引发Page_Load事件。 -Page.IsPostBack属性用于检查页面是否为首次加载 -可以使用PreviousPage对象访问前一个页面的控件值 \ No newline at end of file -- Gitee From dbe6407e7812dca258a25828cf7f379cdcb5fa97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B9=B3?= <2466629710@qq.com> Date: Fri, 20 May 2022 06:53:04 +0000 Subject: [PATCH 4/7] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=2040+?= =?UTF-8?q?=E5=91=A8=E9=A3=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.NET\347\254\224\350\256\260.md" | 324 ------------------ 1 file changed, 324 deletions(-) delete mode 100644 "40+\345\221\250\351\243\230/.NET\347\254\224\350\256\260.md" diff --git "a/40+\345\221\250\351\243\230/.NET\347\254\224\350\256\260.md" "b/40+\345\221\250\351\243\230/.NET\347\254\224\350\256\260.md" deleted file mode 100644 index cc507e3..0000000 --- "a/40+\345\221\250\351\243\230/.NET\347\254\224\350\256\260.md" +++ /dev/null @@ -1,324 +0,0 @@ -### 一,ASP.NET - -#### ==1,ASP.NET的优点== - -* ASP.NET 是一个革命性的程序设计框架,能够快速地开发功能强大的 Web 应用程序和服务 - -##### 1.与浏览器无关 - -##### 2.将业务逻辑代码与显示逻辑分开 - -##### 3.新的集成开发环境 - -##### 4.简单性和易学性 - -##### 5,用户账户和角色 - -##### 6,多处理器环境的可靠性 - -##### 7,高效的可管理性 - -##### 8,执行效率的大幅提高 - -##### 9,易于配置和部署 - -#### 2,ASP.NET的功能 - -##### 1,多语言支持 - -##### 2,代码编译执行 - -##### 3,缓存机制 - -##### 4,服务器控件 - -##### 5,Web服务 - -##### 6,状态管理 - -##### 7,安全管理 - -##### 8,配置和部署 - -#### 3,ASP.NET的工作原理 - -| 组件 | 说明 | -| ---------- | ------------------------------------------------------------ | -| 内存 | 每次需花时间重建的项目可一次构建并存储在内存中。此过程可从内存中检索项目, 从而节省重建成本。以后当项目无效时可删除它们 | -| 解析器 | 在将.aspx页传递至编译器之前,先验证和解释其页面代码 | -| 编译器 | 在运行时将页面内容编译为中间语言(IL) | -| 程序集缓存 | 机器级代码缓存位于已安装Microsoft.NET Framework的每台机器上,其功能之一是存储已预编译的页面的本机代码 | -| 输出缓存 | 页面创建之后,可存放于此。它可存储整个页面,包括数据和对象。如果以后要请求此页面,可从输出缓存中检索 | - -#### 4,ASP.NET编程模型 - -##### 1,HTTP协议 - -* http://:代表超文本传输协议。 -* www:代表一个 Web(万维网)服务器。 -* microsoft.com/:这是存有网页的服务器的域名, 或站点服务器的名称。 -* china/:为该服务器上的子目录,就好像文件夹。 -* index.htm:是文件夹中的一个网页文件。 - -##### 2,基于事件的编程模型 - - - -### 二,ASP.NET页面对象 - -#### 1,网页脚本 - -* 指定输入文本或单击按钮后页面的行为。 -* 根据用户的输入或选择将应用程序从一个 页面导航至其他页面 。 -* 收集或存储来自客户端的信息。 -* 执行数据库操作,如查询、显示数据库数据等。 -* 网页脚本按其执行的位置可分为服务器端脚本不和客户端脚本。 - -##### (1)分类 - -* 服务器端脚本 -* 客户端脚本 - -#### 2,Page对象 - -##### 1,ASP.NET运行机制 - -##### 2,Page指令 - -###### (1)常见属性 - -| 属性 | 说明
| -| ------------------ | ------------------------------------------------------------ | -| AutoEventWireUp | 设置为True 时,指定页面事件自动触发。这个属性的默认设置是 True | -| Buffer | 设置为True时,支持HTTP响应缓存。这个属性的默认设置是True | -| ClassName | 指定编译页面时绑定到页面上的类名 | -| CodeFile | 引用与页面相关的后台编码文件 | -| CodePage | 指定响应的代码页面值 | -| ContentType | 把响应的HTTP内容类型定义为标准MIME类型 | -| Debug | 设置为True吋,用调试符号编译页面 | -| EnableSessionState | 设置为True时,支持页面的会话状态,其默认设置是False | -| EnableTheming | 设置为True时,页面可以使用主题。其默认设置是False | -| EnableViewState | 确定是否为服务器控件保持页面的ViewState。默认值是True | -| ErrorPage | 为所有未处理的页面异常指定用于发送信息的URL | -| Language | 定义内置显示和脚本块所使用的语言 | -| MasterPageFile | 带一个 String值,指向页面所使用的master 页面的地址。这个属性在内容页面中使用 | -| ResponseEncoding | 指定页面内容的响应编码 | -| Theme | 使用主题功能,把指定的主题应用于页面 | -| Title | 应用页面的标题。这个属性主要用于必须应用页面标题的内容页面,而不是应用master页面中指定内容的页面 | -| Trace | 设置为True时,激活页面跟踪,其默认值是False | -| TraceMode | 指定激活跟踪功能时如何显示跟踪消息息。这个属性的设置可以是SortByTime 或SortByCategory,默认设置是SortByTi ime | -| Transaction | 指定页面上是否支持事务处理。这个属性的设置可以是NotSupported、Supported、Required和RequiresNew,默认值是NotSupported | - -##### 3,代码隐藏 - -* 代码隐藏机制将ASP.NET页面分为两个文件 -* 一个含有可视化元素表示页面内容(aspx) -* 另一个为代码隐藏文件,含有应用程序逻辑 -* 代码存储在个单独的类文件中(aspx.cs或aspx.vb) -* 可在任意的文本编辑器中编写这样的代码,并以扩展名.aspx进行保存 - -###### 列如; - -```asp -<% @Page Language="C#" %> script runat "server" -private void btnLogin_Click(object sender,System.EventArgs e) -lbIManage.Text="欢迎,进入网站!";} - - -登录窗体 - -
-

-

- - -``` - -```asp -<% @Page Language="C#" CodeFile="myLogin.aspx.cs" -AutoEventWireup="false"Inherits="myLogin"%> - -代码隐藏示例_登录窗体 - -
-

- - - - -``` - -```asp -using System; -using System.Data; -using System.Configuration; -using System.Collections; -using System. Web; -using System. Web.Security; -using System. Web.UI; -using System.Web.UI. WebControls; -using System.Web.UI.WebControls. WebParts; -using System. Web.UI.HtmlControls; -public partial class myLogin: System. Web.UI.Page -{ - protected void btnLogin_Click(object sender, EventArgs e) - } - lblMessage.Text="欢迎,进入网站!"; - } - } -``` - - - -##### 4,Page对象的事件 - -###### 页面的生命周期事件 - -| 事件 | 典型应用和备注 | -| ----------------- | ------------------------------------------------------------ | -| PreInit | 设置母版页,设置主题 | -| Init | 在所有控件都已初始化且已应用所有外观设置后引发 | -| InitComplete | 使用该事件来处理要求先完成所有初始化工作的任务 | -| PreLoad | 引发该事件后,会为Page自身和所有控件加载视图状态,在该事件的代码中读取的控件属性值是已经根据视图状态修改了的属性值 。如果请求是回发请求,在此事件之前的3个事件中不要设置控件的属性,即使设置了新值也会因为加载视图状态而改变 | -| Load | 建立数据库连接
以递归方式对Pape对象的每个子控件执行Load操作。如此循环往复,直到加载完本页和所有控件为止 | -| 控件事件 | 如Button的Click事件等 | -| LoadComplete | 对需要加载页上的所有其他控件的任务使用该事件 | -| PreRender | 对页和控件的内容进行最后的修改
在该事件发生前,凡是设置了DataSourceID属性的每个数据绑定控件会自动调用 DataBindO方法 | -| SaveStatcComplete | 在该事件发生前,已针对页和所有控件保存了视图状态。在该事件及之后的任何事件中对视图状态的修改都无效 | -| Render | 对页中的每个控件调用它们各自的Render()方法,该方法的作业是把Page对象转换为HTML代码 | -| Unload | 关闭文件或数据库连接等 | - - - -##### 5,Page对象的属性 - -| 属性 | 说明 | -| --------------- | ------------------------------------------------------------ | -| Application | 为当前Web 请求获取Appltcation 对象。对于每个 Web 应用程序来说,只需一个该对象的实例。它是由所有访问该Web应用程序的客户端共享的 | -| EnableViewState | 指定当前页面上的服务器控件是否在页面请求之间保持ViewState。该值影响网页上的所有控件,同时取代控件自身的任何个人设置 | -| ErrorPage | 获取或设置错误页,在发生未处理的页异常的事件时请求浏览器将被重定向到该页 | -| IsPostBack | 获取一个值,该值表示页是第一次访问还是回发访问 | -| IsValid | 获取一个值,该值指示页面验证是否成功 | -| Request | 用于获取HttpRequest对象,此对象与从客户端发送HTTP请求数据的当前页面关联 | -| Response | 用于获取HttpResponse对象,此对象与向客户端发送HTTP响应数据的当前页面关联 | -| Server | 对当前 Server 对象的引用 | -| Session | 用于获取ASP.NET提供的当前 Session 对象 | - - - -#### 3,ASP.NET页面传值 - -##### 1,页内数据传递 - -```asp -//存放信息 -ViewState["nameId"]="0001"; -//读取信息 -String NamelD=ViewState["nameID".ToStr ringO; -``` - - - -##### 2,跨页数据传递 - -```asp -//Page1.aspx.cs -if(Page.IsPostBack)//第一次请求和回送 -{ - //处理相关的操作 -} -``` - -```asp -//Page1.aspx - -<%@ Page Language="C#"AutoEventWireup=" true" CodeFile="Pagel.aspx.cs" Inherits="Pagel"%> - - - - -First Page - - -

-
- - - - - - - - - - - - - -
请输入您的姓名: -
- -
- -
-
-
-
- - -``` - -```asp -//Page1.aspx.cs - -protected void btnPagel_Click(objeo t sender, EventArgs e) -{ - this.lblMessage.Text = "Hello "+this.txtName.Text; -} -``` - -```asp -//Page2.aspx - -<%@ Page Language-"C#" AutoEventWireup-"true" CodeFile-"Page2.aspx.cs"Inherits-“Page2" % - - - - - Second Page - - -
-
-
-
- - -``` - -```asp -//Page2.aspx.cs - -rotected void Page_Load(object sender,System.EventArgs e) -{ - if (Page.PreviousPage!=null) - { - TextBox t1=(TextBox)PreviousPage.FindControl("txtName"); - if(t1 != null) - { - this.lblMessage2.Text="Hello"+ t1.Text +"
"; - } - } -} -``` - -- Gitee From d5171b2e96463a627d0be9036ffb7fbefe3aac00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B9=B3?= <2466629710@qq.com> Date: Fri, 20 May 2022 06:53:10 +0000 Subject: [PATCH 5/7] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20?= =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\347\254\224\350\256\2601.md" | 47 -------- .../\347\254\224\350\256\2602.md" | 100 ------------------ 2 files changed, 147 deletions(-) delete mode 100644 "\347\254\224\350\256\260/\347\254\224\350\256\2601.md" delete mode 100644 "\347\254\224\350\256\260/\347\254\224\350\256\2602.md" diff --git "a/\347\254\224\350\256\260/\347\254\224\350\256\2601.md" "b/\347\254\224\350\256\260/\347\254\224\350\256\2601.md" deleted file mode 100644 index a4d36e4..0000000 --- "a/\347\254\224\350\256\260/\347\254\224\350\256\2601.md" +++ /dev/null @@ -1,47 +0,0 @@ -## Webform初始 - -action = "一般处理程序" method = post(隐式发送) method = get(显式发送) - -创建第一个Web应用窗体 - -
- 账号: - 密码: - -
-//一般处理程序 -public void ProcessRequest(HttpContext context) -{ - context.Response.ContentType = "text/plain"; - //1.从前台接收数据到后台 - string uname = context.Request.Params["uname"]; - string upwd = context.Request.Params["upwd"]; - DATA.LoginCheck lc = new DATA.LoginCheck(); - if (lc.CheckAccount(uname, upwd)) - { - context.Response.Write("登陆成功"); - } - else - { - context.Response.Write("用户名或者密码错误"); - } -} -public bool IsReusable //是否自动缓存 -{ - get - { - return false; - } -} -//模拟数据库 -public bool CheckAccount(string uname, string upwd) -{ - if (uname == "123" && upwd == "admin") - { - return true; - } - else - { - return false; - } -} \ No newline at end of file diff --git "a/\347\254\224\350\256\260/\347\254\224\350\256\2602.md" "b/\347\254\224\350\256\260/\347\254\224\350\256\2602.md" deleted file mode 100644 index 3970a0c..0000000 --- "a/\347\254\224\350\256\260/\347\254\224\350\256\2602.md" +++ /dev/null @@ -1,100 +0,0 @@ - - -## 页面对象Page - -#### 网页生成过程分析 - -第一次请求: - 1.ASp.NET引擎 - 2.后台.cs编码类 - 3.生成的页面类-编译 - 4.数据库-处理 - 5.程序集处理并合成数据(响应) -第二次请求: - 5.程序集处理并合成数据(响应) - -#### 网页生成过程总结 - -1.客户端点击提交按钮或者触发控件的事件 -2.服务器端刷新整个页面 -3.执行page_load事件 -4.执行具体控件的事件并给页面控制赋值 -5.重新生成新页面的HTML -6.使用Response对象返回包含新数据的html页面 -7.浏览器看到刷新后的页面 - -#### Page.IsPostBack属性 - -
-
-
- -
-
-
-protected void Page_Load(object sender, EventArgs e) -{ - //如果是第一次加载: - //TextBox1.Text = "请输入账号"; - //如果是回发, - - //第一次加载 - if (!IsPostBack) - { - TextBox1.Text = "请输入账号"; - } - else //回发 - { - -​ } -} -protected void Button1_Click(object sender, EventArgs e) -{ -​ TextBox2.Text = TextBox1.Text; -} - -#### 页面传值 - -//存放信息 -ViewState["ID名称"]="1"; -//读取信息 -String ID名称 = ViewState["ID名称"].ToString(); - -#### 跨页面传值 - -页面Page1 -
-
- 账号:
- 密码:
- -
-
-protected void Page_Load(object sender, EventArgs e) -{ - -} -页面Page2 -
-
- -
-
-protected void Page_Load(object sender, EventArgs e) -{ - //判断是否起始页,如果是起始页,Page.PreviousPage将为空 - if (Page.PreviousPage != null) - { - //PreviousPage.FindControl(string id):在当前的命名容器中(这里指定的是PreviousPage)搜索 指定 id - TextBox t1 = (TextBox)PreviousPage.FindControl("TextBox1"); - TextBox t2 = (TextBox)PreviousPage.FindControl("TextBox2"); - if(t1.Text == "123" && t2.Text == "admin") - { - lbl2.Text = "登陆成功"; - } - else - { - lbl2.Text = "用户名或密码错误"; - } - } -} \ No newline at end of file -- Gitee From d7c8c69240d3210000cd13fdfbed48db750b89c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B9=B3?= <2466629710@qq.com> Date: Mon, 23 May 2022 11:42:31 +0000 Subject: [PATCH 6/7] =?UTF-8?q?=E6=96=B0=E5=BB=BA=2035=E5=BC=A0=E5=B9=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "35\345\274\240\345\271\263/.keep" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "35\345\274\240\345\271\263/.keep" diff --git "a/35\345\274\240\345\271\263/.keep" "b/35\345\274\240\345\271\263/.keep" new file mode 100644 index 0000000..e69de29 -- Gitee From 781992fbf1cfcd5b7bcd606369a43ec8ea20a7a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B9=B3?= <2466629710@qq.com> Date: Mon, 23 May 2022 11:43:30 +0000 Subject: [PATCH 7/7] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ....net\347\254\224\350\256\2602022-05-16.md" | 31 +++++++++++ ....net\347\254\224\350\256\2602022-05-17.md" | 52 ++++++++++++++++++ ....net\347\254\224\350\256\2602022-05-20.md" | 55 +++++++++++++++++++ ....net\347\254\224\350\256\2602022-05-23.md" | 23 ++++++++ 4 files changed, 161 insertions(+) create mode 100644 "35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-16.md" create mode 100644 "35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-17.md" create mode 100644 "35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-20.md" create mode 100644 "35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-23.md" diff --git "a/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-16.md" "b/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-16.md" new file mode 100644 index 0000000..9fcfc74 --- /dev/null +++ "b/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-16.md" @@ -0,0 +1,31 @@ +wedform的初识 + +表单在提交时自动将数据封装在Request中,并传给一般处理程序 + +表单的作用:收集用户输入信息,并提交到后台 + +前台: + +
+
+ 请输入一句话:
+
+ +
+ +
+ +后台: + + + +```c# +protected void btn_Click(object sender, EventArgs e) + { + //1.获取textbox输入的内容 + string str = text.Text; + //2.输出在label控件 + lbl.Text = str; + } +``` + diff --git "a/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-17.md" "b/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-17.md" new file mode 100644 index 0000000..8ad642e --- /dev/null +++ "b/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-17.md" @@ -0,0 +1,52 @@ +页面对象Page + +页面传值: + +传值关键字:PostBackUrl + +第一个页面前台: + +
+
+
+
+ +
+
+ +第一个页面传向第二个页面 + + + +第二个页面前台: + +
+
+ +
+
+ +第二个页面后台: + +```c# +protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + TextBox taccount = (TextBox)(PreviousPage.FindControl("TextBox1")); + TextBox tpwd = (TextBox)(PreviousPage.FindControl("TextBox2")); + if(taccount != null && tpwd != null) + { + if (taccount.Text == "123" && tpwd.Text == "admin") + { + Label1.Text = "登录成功"; + } + else + { + Label1.Text = "登陆失败"; + } + } + } + } +``` + diff --git "a/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-20.md" "b/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-20.md" new file mode 100644 index 0000000..2133428 --- /dev/null +++ "b/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-20.md" @@ -0,0 +1,55 @@ +# 内置对象 + +ViewState对象 + +Request对象 + +Response对象 + +Server对象 + + + +Request与Response对象的本质: + +•Request对象其实是HttpRequest对象,在页面类自动创建。 + +•Request对象封装了用户请求的信息(用户输入的信息或URL参数)。 + +•Response对象封装了服务器的响应信息。 + + + +**1). Request****对象** + +•**Request****如何获取传递过来的数据** + +•QueryString(查询字符串):获取通过URL传递过来的数据 + +•Form(表单数据):获取通过表单提交传输的数据 + +•ServerVariables属性:获取Web服务器变量的集合 + +•Params:以上三种方式传输的内容都可以使用该属性获取 + + + +**2). Response****对象** + +Response.Write()输出 + +Response.Redirect()跳转 + + + +**3).** **ViewState****对象** + +存取数据的方式----》key value + +•**ViewState****中保存的数据全部被转换成****object****类型,取出时** + + **务必强制转换成特定类型。** + +•**ViewState****只能在同一个页面的连续多次请求之间保存信息,** + + **页面跳转后信息就会丢失。** \ No newline at end of file diff --git "a/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-23.md" "b/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-23.md" new file mode 100644 index 0000000..48107dc --- /dev/null +++ "b/35\345\274\240\345\271\263/asp.net\347\254\224\350\256\2602022-05-23.md" @@ -0,0 +1,23 @@ +# 内置对象 + +1.**Session****对象** + +与ViewState一样是“键--值”对存取数据 + + **2.Application****对象** + + **3.Cookie****对象的特点: + + 存储少量不重要的数据 + + 存储在客户端的文本文件中,(必须设置有效期,否则不被存储) + + 安全性差 + + 存储的数据类型----字符串 + + 与浏览器窗口无关,但与访问站点有关 + + 具有特定的过期时间和日期 + + 在客户端存储后,将随着浏览器对相关网站页面请求一并发送到Web服务器 \ No newline at end of file -- Gitee