第 3 讲 web 窗体的创建与使用

29
1 Web 窗窗窗 2 Web 窗窗窗窗窗窗窗 3 窗窗窗窗窗 4 Web 窗 窗窗窗窗 Use Visual Studio .NET ASP.NET Visual Studio.NET ADO.NET VB.NET Web 窗窗窗 窗窗窗窗窗 窗3窗 Web 窗 窗窗窗窗窗窗

Upload: cassandra-romanos

Post on 30-Dec-2015

98 views

Category:

Documents


0 download

DESCRIPTION

第 3 讲 Web 窗体的创建与使用. Web 数据库 设计与应用. 1 Web 窗体页介绍 2 Web 服务器事件处理 3 用户重定向 4 Web 窗体状态管理. VB.NET. ADO.NET. Use Visual Studio .NET. ASP.NET. Visual Studio.NET. 1 Web 窗体页介绍. 5.1 Web 窗体页介绍. 几个重要的术语 ASP.NET 窗体 使用 Visual Studio .NET 创建 Web 窗体. 几个重要的术语. 页 (Page) 静态 Web 页: HTML - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 3 讲   Web 窗体的创建与使用

1 Web窗体页介绍 2 Web 服务器事件处理 3 用户重定向 4 Web 窗体状态管理

Use Visual Studio .NET

ASP.NETVisual Studio.NET

ADO.NETVB.NET

Web 数据库设计与应用

第 3讲 Web窗体的创建与使用

Page 2: 第 3 讲   Web 窗体的创建与使用

1 Web 窗体页介绍

几个重要的术语 ASP.NET 窗体 使用Visual Studio .NET 创建 Web 窗体

5.1 Web 窗体页介绍

Page 3: 第 3 讲   Web 窗体的创建与使用

几个重要的术语

页 (Page)

静态Web页: HTML

动态Web页 客户端: DHTML

服务器端: ASP, JSP, ASP.NET

Web 窗体页介绍

Page 4: 第 3 讲   Web 窗体的创建与使用

静态 Web 页

不含代码 直接利用 HTML 的标记实现 Web 页

面 文件的后缀名:

.html.htm

静态WEB页工作原理示意图几个重要的术语

Page 5: 第 3 讲   Web 窗体的创建与使用

HTML 工作原理示意图

静态WEB页

Page 6: 第 3 讲   Web 窗体的创建与使用

动态 WEB 页

客户端的动态页面 DHTML 示意图 利用 VBScript 和 JavaScript 实现动态

的脚本; 通过客户端的浏览器解释和执行

服务器端的动态页面 示意图 一般利用服务器端的语言实现动态页面 技术: ASP, JSP, ASP.NET 等

几个重要的术语

Page 7: 第 3 讲   Web 窗体的创建与使用

动态 WEB 页—— DHTML

动态WEB页

Page 8: 第 3 讲   Web 窗体的创建与使用

服务器端的动态 WEB

动态WEB页

Page 9: 第 3 讲   Web 窗体的创建与使用

1 Web 窗体页介绍

几个重要的术语 ASP.NET 窗体 使用Visual Studio .NET 创建 Web 窗体

5.1 Web 窗体页介绍

Page 10: 第 3 讲   Web 窗体的创建与使用

ASP.NET 窗体

ASP.NET的执行模式 Web 窗体的组件

文件结构MyWebForm.aspx, MyWebForm.aspx.vb

可视组件和逻辑 视觉元素称作 Web 窗体“页”编程逻辑

Web 窗体页的结构

Web 窗体页介绍

Page 11: 第 3 讲   Web 窗体的创建与使用

多媒体 : ASP.NET 执行模式

ASP.NET窗体

Page 12: 第 3 讲   Web 窗体的创建与使用

Web 窗体页的结构

<%@Page Language="vb" Codebehind="WebForm1.aspx.vb"%><html>

<body> <form id="Form1" method="post" runat="server"> </form></body>

</html>

<%@Page Language="vb" Codebehind="WebForm1.aspx.vb"%><html>

<body> <form id="Form1" method="post" runat="server"> </form></body>

</html>

.aspx 扩展名 Page 属性

@ Page directive Body 属性 Form 属性

ASP.NET窗体

Page 13: 第 3 讲   Web 窗体的创建与使用

Web 窗体页的代码

三种代码方式 :

代码与内容完全混合在同一个文件 ( 混合模式 )

代码和内容在同一个文件的不同区域( 内嵌模式 )

代码在单独的文件中 ( 代码后置页 Code-behind)

Code-behind 是 Visual Studio .NET 默认方式

Page 14: 第 3 讲   Web 窗体的创建与使用

内嵌代码 Inline Code

代码和内容在同一文件 Code 和 HTML 在不同区域

<HTML> <asp:Button id="btn" runat="server"/>...</HTML>

<SCRIPT Language="vb" runat="server"> Sub btn_Click(s As Object, e As EventArgs)

Handles btn.Click ... End Sub</SCRIPT>

<HTML> <asp:Button id="btn" runat="server"/>...</HTML>

<SCRIPT Language="vb" runat="server"> Sub btn_Click(s As Object, e As EventArgs)

Handles btn.Click ... End Sub</SCRIPT>

Page 15: 第 3 讲   Web 窗体的创建与使用

代码后置 Code-Behind

代码从内容中分离出来 开发人员和界面设计人员可以独立设计

Form1.aspxForm1.aspx Form1.aspxForm1.aspx Form1.aspx.vbForm1.aspx.vb

<tags><tags> codecode

codecode

Separate filesSingle file

Page 16: 第 3 讲   Web 窗体的创建与使用

Code-Behind Web 页的工作原理

用户界面和业务逻辑分别处于不同文件 使用 @Page 把两个文件关联起来

Page1.aspx

<% @Page Language="vb"Inherits="Project.WebForm1" Codebehind="Page1.aspx.vb" Src = "Page1.aspx.vb" %>

Page1.aspx.vbPublic Class WebForm1 Private Sub cmd1_Click() … End SubEnd Class

Page 17: 第 3 讲   Web 窗体的创建与使用

1 Web 窗体页介绍

几个重要的术语 ASP.NET 窗体 使用Visual Studio .NET 创建 Web 窗体

5.1 Web 窗体页介绍

Page 18: 第 3 讲   Web 窗体的创建与使用

使用 Visual Studio .NET 创建 WEB 窗体

默认 Web 窗体 通过创建 ASP.NET Web 应用程序创建一个默认

的 Web 窗体 : WebForm1.aspx 新 Web 窗体

通过解决方案资源管理器创建一个新的 WEB 窗体

转换窗体 直接转换 HTML 页为 Web 窗体

Web 窗体页介绍

Page 19: 第 3 讲   Web 窗体的创建与使用

1 Web窗体页介绍 2 Web服务器事件处理 3 用户重定向 4 Web 窗体状态管理

Use Visual Studio .NET

ASP.NETVisual Studio.NET

ADO.NETVB.NET

Web 数据库设计与应用

第 3讲 Web窗体的创建与使用

Page 20: 第 3 讲   Web 窗体的创建与使用

2 Web 服务器事件处理

页面事件 页面事件的生命周期 PostBack 过程

事件模型 事件与事件处理程序

5.2 Web 服务器事件处理

Page 21: 第 3 讲   Web 窗体的创建与使用

页面事件生命周期

Page_LoadPage_Load

Page_UnloadPage_Unload

Textbox1_ChangedTextbox1_Changed

Button1_ClickButton1_Click

Page is disposed

Page_InitPage_Init

Control eventsControl events

Change EventsChange Events

Action EventsAction Events

Page 22: 第 3 讲   Web 窗体的创建与使用

Postback

Page 23: 第 3 讲   Web 窗体的创建与使用

处理 Postback 事件

Page_Load fires on every request

Initialize controls

Use Page.IsPostBack to execute conditional logic

Page.IsPostBack prevents reloading for each postback

Private Sub Page_Load(ByVal s As System.Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Load If Not Page.IsPostBack Then 'executes only on initial page load End If 'this code executes on every requestEnd Sub

Private Sub Page_Load(ByVal s As System.Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Load If Not Page.IsPostBack Then 'executes only on initial page load End If 'this code executes on every requestEnd Sub

Page 24: 第 3 讲   Web 窗体的创建与使用

事件与事件处理程序

Visual Studio .NET declares variables and creates an event procedure template

Using the Handles keyword Adds many event procedures to one event

Protected WithEvents cmd1 As _System.Web.UI.WebControls.Button

Private Sub cmd1_Click(ByVal s As System.Object, _ByVal e As System.EventArgs) _Handles cmd1.Click

Protected WithEvents cmd1 As _System.Web.UI.WebControls.Button

Private Sub cmd1_Click(ByVal s As System.Object, _ByVal e As System.EventArgs) _Handles cmd1.Click

<form id="form1" method="post" runat="server"> <asp:Button id="cmd1" runat="server"/></form>

<form id="form1" method="post" runat="server"> <asp:Button id="cmd1" runat="server"/></form>

Page 25: 第 3 讲   Web 窗体的创建与使用

1 Web 窗体页介绍 2 Web 服务器事件处理 3 用户重定向 4 Web 窗体状态管理

Use Visual Studio .NET

ASP.NETVisual Studio.NET

ADO.NETVB.NET

Web 数据库设计与应用

第 3讲 Web窗体的创建与使用

Page 26: 第 3 讲   Web 窗体的创建与使用

3 用户重定向

将用户从一个 Web 窗体页重定向到另一页 通过 HttpResponse.Redirect 方法可以实现重定向

5.3 用户重定向

Response.BufferOutput = TrueIf UserLanguage = "English" Then Response.Redirect("http://www.microsoft.com/usa")ElseIf UserLanguage = "Chinese" Then Response.Redirect("http://www.microsoft.com/china")End If

Response.BufferOutput = TrueIf UserLanguage = "English" Then Response.Redirect("http://www.microsoft.com/usa")ElseIf UserLanguage = "Chinese" Then Response.Redirect("http://www.microsoft.com/china")End If

Page 27: 第 3 讲   Web 窗体的创建与使用

4 Web 窗体状态管理

为什么要进行状态管理? HTTP 是“健忘”的协议 每次将 Web 页发送到服务器时,都会重新创建

Web 页 每次往返行程都会丢失所有与该页关联的信息

视图状态 ViewState

ASP.NET 页框架 中内置 此功能会在往返行程之间自动保留页以及页上

所有控件的属性值 状态管理的方法

5.4 Web 窗体状态管理

Page 28: 第 3 讲   Web 窗体的创建与使用

状态管理对象比较

保持方法 谁需要数据 保持多长时间 数据量大小Application 所有用户 整个应用程序生命期 任意大小Cookie 一个用户 可以很短,如果用户不删

除也可很长小的、简单数据

Form Post 一个用户 到下次请求(可跨越多个请求重复用)

任意大小

QueryString 一个或一组用户 同 Form Post 小的、简单数据Sessions 一个用户 用户活动时一直保持+一

段时间(一般 20 分钟)可以是任何大小,但是因为用户占用单独存储空间,所有它应该最小

Cache 所有或某些用户 根据需要 可大可小、可简单可复杂Context 一个用户 一个请求 可以保持大对象,但是一般不这样使用ViewState 一个用户 一个 Web 窗体 最小Config file 所有用户 知道配置文件被更新 可以保持大量数据,通常组织小的字符

串和 XML 结构

Page 29: 第 3 讲   Web 窗体的创建与使用

1 Web 窗体页介绍 2 Web 服务器事件处理 3 用户重定向 4 Web 窗体状态管理

Use Visual Studio .NET

ASP.NETVisual Studio.NET

ADO.NETVB.NET

Web 数据库设计与应用

第 3讲 Web窗体的创建与使用 回顾