ASP.NET用户控件的利弊和使用实例

    xiaoxiao2026-01-08  12

    创建用户控件要比创建自定义控件方便很多,因为可以重用现有的控件。用户控件使创建具有复杂用户界面元素的控件极为方便。在HoverTreeTop项目中,新增图片的浏览功能,效果请看: http://hovertree.com/top/htimg/  而图片的添加就使用了用户控件。用户控件为:UCPictureAdd.ascx ,在PictureAdd.aspx页面中使用。 在PictureAdd.aspx页面中使用用户控件的代码: <%@ Page Title="" Language="C#" MasterPageFile="~/HTPanel/HMaster/HPanel.Master" AutoEventWireup="true" CodeBehind="PictureAdd.aspx.cs" Inherits="HoverTreeTop.HoverTree.HoverTreePanel.HTPanel.HPicture.PictureAdd" %> <%@ Register Src="~/htpanel/hcontrol/UcPictureAdd.ascx" TagName="PicAdd" TagPrefix="HtUc" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolderMain" runat="server"> <HtUc:PicAdd runat="server" ID="picAdd1" HtIsRecommend="true" /> </asp:Content> 提供源码下载: http://hovertree.com/h/bjaf/hv6cqe5n.htm 已经有人对ASP.NET用户控件的利弊做了小结 优点: 1.用户控件感觉就是迷你版的页面,用它可以对一些常用的功能和页面布局进行封装,实现一定的代码重用;2.用户控件的编写比编写自定义控件要简单得多,事件处理模型,生命周期等和一般页面相似,容易上手; 缺点: 1.用户控件其实很多时候嵌入了应用程序的一些逻辑,跨应用程序的重用性稍差; 2.如果出现bug,有时不太容易发现; 3.性能可能不是很好 ASP.NET Web 用户控件与完整的 ASP.NET 网页(.aspx 文件)相似,同时具有用户界面页和代码。可以采取与创建 ASP.NET 页相似的方式创建用户控件,然后向其中添加所需的标记和子控件。用户控件可以像页面一样包含对其内容进行操作(包括执行数据绑定等任务)的代码。 用户控件与 ASP.NET 网页有以下区别: 用户控件的文件扩展名为 .ascx。 用户控件中没有 @ Page 指令,而是包含 @ Control 指令,该指令对配置及其他属性进行定义。 用户控件不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到 ASP.NET 页中。 用户控件中没有 html、body 或 form 元素。这些元素必须位于宿主页中。 可以在用户控件上使用与在 ASP.NET 网页上所用相同的 HTML 元素(html、body 或 form 元素除外)和 Web 控件。例如,如果您要创建一个将用作工具栏的用户控件,则可以将一系列 Button Web 服务器控件放在该控件上,并创建这些按钮的事件处理程序。 HoverTreeTop: http://hovertree.com/top/
    最新回复(0)