290 likes | 451 Views
第 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
E N D
第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 • 动态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窗体页介绍 5.1 Web窗体页介绍 • 几个重要的术语 • ASP.NET 窗体 • 使用Visual Studio .NET 创建 Web 窗体
ASP.NET 窗体 • ASP.NET的执行模式 • Web 窗体的组件 • 文件结构 MyWebForm.aspx, MyWebForm.aspx.vb • 可视组件和逻辑 视觉元素称作 Web 窗体“页” 编程逻辑 • Web 窗体页的结构 Web窗体页介绍
多媒体: ASP.NET 执行模式 ASP.NET窗体
Web 窗体页的结构 • .aspx 扩展名 • Page 属性 • @ Page directive • Body 属性 • Form 属性 <%@Page Language="vb" Codebehind="WebForm1.aspx.vb"%> <html> <body> <form id="Form1" method="post" runat="server"> </form> </body> </html> 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>
代码后置Code-Behind • 代码从内容中分离出来 • 开发人员和界面设计人员可以独立设计 Single file Separate files code <tags> code <tags> Form1.aspx.vb Form1.aspx Form1.aspx
Code-Behind Web页的工作原理 • 用户界面和业务逻辑分别处于不同文件 • 使用 @Page把两个文件关联起来 Page1.aspx <% @Page Language="vb"Inherits="Project.WebForm1" Codebehind="Page1.aspx.vb" Src = "Page1.aspx.vb" %> Page1.aspx.vb Public Class WebForm1 Private Sub cmd1_Click() … End SubEnd Class
1 Web窗体页介绍 5.1 Web窗体页介绍 • 几个重要的术语 • ASP.NET 窗体 • 使用Visual Studio .NET 创建 Web 窗体
使用 Visual Studio .NET 创建WEB窗体 • 默认Web窗体 • 通过创建 ASP.NET Web 应用程序创建一个默认的Web 窗体: WebForm1.aspx • 新Web窗体 • 通过解决方案资源管理器创建一个新的WEB窗体 • 转换窗体 • 直接转换 HTML 页为 Web 窗体 Web窗体页介绍
第3讲 Web窗体的创建与使用 Web数据库 设计与应用 • 1 Web窗体页介绍 • 2 Web服务器事件处理 • 3 用户重定向 • 4 Web窗体状态管理 VB.NET ADO.NET Use Visual Studio .NET ASP.NET Visual Studio.NET
2 Web服务器事件处理 5.2 Web服务器事件处理 • 页面事件 • 页面事件的生命周期 • PostBack过程 • 事件模型 • 事件与事件处理程序
页面事件生命周期 Page is disposed Page_Init Page_Load Control events Textbox1_Changed Change Events Button1_Click Action Events Page_Unload
处理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 request End Sub
事件与事件处理程序 • Visual Studio .NET declares variables and creates an event procedure template • Using the Handles keyword • Adds many event procedures to one event <form id="form1" method="post" runat="server"> <asp:Button id="cmd1" runat="server"/> </form> 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
第3讲 Web窗体的创建与使用 Web数据库 设计与应用 • 1 Web窗体页介绍 • 2 Web服务器事件处理 • 3 用户重定向 • 4 Web窗体状态管理 VB.NET ADO.NET Use Visual Studio .NET ASP.NET Visual Studio.NET
3 用户重定向 5.3 用户重定向 • 将用户从一个 Web 窗体页重定向到另一页 • 通过HttpResponse.Redirect 方法可以实现重定向 Response.BufferOutput = True If 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窗体状态管理 5.4 Web窗体状态管理 • 为什么要进行状态管理? • HTTP是“健忘”的协议 • 每次将 Web 页发送到服务器时,都会重新创建 Web 页 • 每次往返行程都会丢失所有与该页关联的信息 • 视图状态ViewState • ASP.NET 页框架 中内置 • 此功能会在往返行程之间自动保留页以及页上所有控件的属性值 • 状态管理的方法
第3讲 Web窗体的创建与使用 Web数据库 设计与应用 回顾 • 1 Web窗体页介绍 • 2 Web服务器事件处理 • 3 用户重定向 • 4 Web窗体状态管理 VB.NET ADO.NET Use Visual Studio .NET ASP.NET Visual Studio.NET