在编写ASP.Net自定义控件时,我应该采用哪种方法?我应该创建自定义用户控件还是创建复合Web服务器控件。如何为复合控件添加设计器支持。它们彼此之间有什么不同以及它们各自的优缺点。 最好提供每种方法的示例以便区分。
在官方文档中有一个比较:组合控件 vs. 用户控件 如果我打算向其他开发人员提供控件,例如第三方控件供应商,则我会选择组合控件。然后,我会为这些控件添加设计功能。但是,如果我只想开发在项目中执行自定义操作的控件,则用户控件更容易编写,并且需要更少的ASP.NET内部知识。附注:Kothari的书非常好,是开发组合控件时必读的书籍,但这还不够。因为这是一本ASP.NET 1.1的书,没有提到在ASP.NET 2中出现的非常重要的概念:DataBoundControl与DataSourceControl的概念。所有从.NET 2+开始出现的ASP.NET自定义控件,如FormView/GridView/DetailsView和ObjectDataSource、SqlDataSource等,都建立在这些基本概念之上,而这些基本概念在该书中根本没有涉及。不幸的是,该书从未更新过,我也不知道有哪些其他书籍能详细解释这一点。