开发者社区> 好歌> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看
创建用户控件要比创建自定义控件方便很多,因为可以重用现有的控件。用户控件使创建具有复杂用户界面元素的控件极为方便。在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/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
52ABP模板 ASP.Net Core 与 Angular的开源实例项目
阅读文本大概需要 5 分钟。 关注角落的白板报 开始之前 自从上一篇文章".NET:持续进化的统一开发平台"发布后,已经有三个月的时间没有写过文章了。
1418 0
菜鸟入门【ASP.NET Core】5:命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options
命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample   可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来,我们可以直接添加Microsoft.
1028 0
ASP.NET Core轻松入门Bind读取配置文件到C#实例
首先新建一个ASP.NET Core空项目,命名为BindReader 然后 向项目中添加一个名为appsettings.json的json文件,为什么叫appsettings呢?  打开Program.
727 0
+关注
好歌
何乐君 helejun
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载