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

Post on 30-Dec-2015

105 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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

Use Visual Studio .NET

ASP.NETVisual Studio.NET

ADO.NETVB.NET

Web 数据库设计与应用

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

1 Web 窗体页介绍

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

5.1 Web 窗体页介绍

几个重要的术语

页 (Page)

静态Web页: HTML

动态Web页 客户端: DHTML

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

Web 窗体页介绍

静态 Web 页

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

面 文件的后缀名:

.html.htm

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

HTML 工作原理示意图

静态WEB页

动态 WEB 页

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

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

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

几个重要的术语

动态 WEB 页—— DHTML

动态WEB页

服务器端的动态 WEB

动态WEB页

1 Web 窗体页介绍

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

5.1 Web 窗体页介绍

ASP.NET 窗体

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

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

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

Web 窗体页的结构

Web 窗体页介绍

多媒体 : ASP.NET 执行模式

ASP.NET窗体

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窗体

Web 窗体页的代码

三种代码方式 :

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

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

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

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

内嵌代码 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>

代码后置 Code-Behind

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

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

<tags><tags> codecode

codecode

Separate filesSingle file

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

1 Web 窗体页介绍

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

5.1 Web 窗体页介绍

使用 Visual Studio .NET 创建 WEB 窗体

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

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

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

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

Web 窗体页介绍

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

Use Visual Studio .NET

ASP.NETVisual Studio.NET

ADO.NETVB.NET

Web 数据库设计与应用

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

2 Web 服务器事件处理

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

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

5.2 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

Postback

处理 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

事件与事件处理程序

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>

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

Use Visual Studio .NET

ASP.NETVisual Studio.NET

ADO.NETVB.NET

Web 数据库设计与应用

第 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

4 Web 窗体状态管理

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

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

视图状态 ViewState

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

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

5.4 Web 窗体状态管理

状态管理对象比较

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

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

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

任意大小

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

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

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

串和 XML 结构

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

Use Visual Studio .NET

ASP.NETVisual Studio.NET

ADO.NETVB.NET

Web 数据库设计与应用

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

top related