1 / 17

第 6 章 Web 应用程序开发技术

第 6 章 Web 应用程序开发技术. 信息科技学院. 学习要点:. 1 .掌握用户控件 2 .掌握自定义控件 3 .使用 ASP.NET 创建简单控件. 用户控件. 用户控件 使用与 ASP.NET 页相同的语法创建的用户自定义 Web 服务器控件 在多个 ASP.NET Web 应用程序之间划分和重复使用公共用户界面功能 可以使用任何文本编辑器开发 支持代码隐藏页 支持可视化开发. 用户控件. 与 Web 窗体的区别 .ascx 扩展名 不能独立地请求用户控件,必须包括在 Web 窗体页内才能使用

ahanu
Download Presentation

第 6 章 Web 应用程序开发技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 Web应用程序开发技术 信息科技学院

  2. 学习要点: • 1.掌握用户控件 • 2.掌握自定义控件 • 3.使用ASP.NET创建简单控件

  3. 用户控件 • 用户控件 • 使用与 ASP.NET 页相同的语法创建的用户自定义 Web 服务器控件 • 在多个 ASP.NET Web 应用程序之间划分和重复使用公共用户界面功能 • 可以使用任何文本编辑器开发 • 支持代码隐藏页 • 支持可视化开发

  4. 用户控件 • 与 Web 窗体的区别 • .ascx 扩展名 • 不能独立地请求用户控件,必须包括在 Web 窗体页内才能使用 • 不能包含 <HTML>、<BODY>和<FORM> 标签 • 使用 @Control 指令代替 @Page 指令 • 用户控件的代码隐藏类从 UserControl 类继承,Web 窗体的代码隐藏类从 Page 类继承 • 拥有自己的事件处理代码

  5. 用户控件 • @Control 指令 • 与 HTML 服务器控件、Web 服务器控件的区别 • 与 Web 自定义控件的区别 <%@ Control Language="vb" Codebehind=“control1.ascx.vb" Inherits="test. control1“ %> <%@ Control Language=“C#" Codebehind=“control1.ascx.cs" Inherits="test.control1" %>

  6. Control1.ascx Page1.aspx Page2.aspx 使用用户控件的原因 • ASP Include 函数的不足 • 容易产生变量名、方法名冲突 • 用户控件的优点 • 独立于 Web 窗体,用户控件的变量、方法和属性不会与 Web 窗体的变量、方法和属性冲突 • 在同一 Web 窗体中多次使用用户控件不会产生冲突 • 可被 Web 应用程序内所有 Web 窗体重用 应用程序 A

  7. 8.1.2 使用用户控件的原因 使用用户控件的原因 • 用户控件的不足 • 每个应用程序中需要控件的一个单独副本 • 不能在使用其他语言开发的 Web 应用程序中重用 • 不能将用户控件添加到 Visual Studio .NET 工具箱中 • 解决方案:Web 自定义控件

  8. 添加用户控件 • 使用 @ Register 指令将用户控件添加到 Web 窗体中 • TagPrefix 属性 • 指定用户控件的标记前缀 • TagName 属性 • 指定用户控件标记的名称 • Src 属性 <%@ Register TagPrefix="demo" TagName="validNum" Src="numberbox.ascx" %>

  9. 添加用户控件 • 手动添加用户控件 • 添加 @Register 指令 • 在 Web 窗体中插入用户控件 <%@ Register TagPrefix="demo" TagName="validNum" Src="numberbox.ascx" %> ... <form id = “form1” runat=“server”> <demo:validNum id="num1" runat="server"/> </form> ...

  10. 用户控件与自定义控件 • 用户控件用.ascx文件表示;不出现在工具箱中;支持缓存;提供有限的支持 • 自定义控件用.DLL文件表示;出现在工具箱中;不支持缓存提供全面支持

  11. 用户控件与自定义控件 • 模板也属于自定义控件(User Control),所以在使用时要先注册(Register)。对主程序的第一行代码,TagPrefix定义了一个不重复的名字空间(Name Space)。TagName为自定义控件定义了一个名称。然后要指明使用的模板的文件名。注册完自定义控件后,就可以把此控件认为是服务器端控件。要使用服务器端控要使用runat=”server”属性

  12. 用户控件与自定义控件 • 用户控件不能独立存在和使用,它要求将 ASP.NET 页面作为容器

  13. 用户控件与自定义控件 • 可以象普通的ASP.NET页面一样,在用户控件上放置Web控件 • <%@ Register TagPrefix=" " TagName=" " Src=" " %>;TagPrefix为Pagelet指定一个唯一的名字空间,TagName是Pagelet的唯一名字,当然也可以换成其他的名称,如:TagName="myControl",Src属性为指向Pagelet的虚拟路径。 • 在Web页中使用自定义控件,把自定义控件拖放到Web页面即可

  14. 用户控件与自定义控件 建立自定义控件步骤: 1、在 VS.NET 的“新建项目”选项中,在模板列表中选择“Web 控件库”模板选项,把项目命名为CustomerControls。Visual Studio .NET 将创建包含单一自定义控件的代码的项目 2、添加一个新项,在模板里选择自定义控件,并为其命名。移至“生成”选项,单击“生成 * .cs”将* .cs 编译成 .dll 文件,以便可以用于 .aspx 页面中 3、在由设计器生成的代码模板 UltraTextBox.cs 中编写代码 4、把自定义控件添加到工具箱

  15. 用户控件与自定义控件 • 在 VS.NET 中创建用户控件: • 新建一个Web工程,并为其命名,用来测试控件 • 在工程添加一个页面,命名为* .aspx • 添加控件

  16. 小结 • 使用用户控件和自定义控件可以实现界面的重用 • 用户控件的扩展名是 .ascx,该控件可在一个应用程序中使用,但不能跨应用程序 • 自定义控件被编译成 .dll 文件,可以放置在工具箱里,它可以是继承于已有的Web控件,也可以是完全自定义。自定义控件可以跨应用程序域

  17. 思考练习题: • 1.编写应用程序,利用用户控件和自定义控件实现网上购物

More Related