【发布时间】:2011-05-30 15:06:50
【问题描述】:
在 ASP.Net 中编写自定义控件时,我应该更喜欢哪种方法。我应该创建自定义用户控件还是应该创建复合 Web 服务器控件。以及如何为复合控件添加设计器支持。它们之间有何不同以及它们的优缺点。
最好各有一个例子。
【问题讨论】:
标签: c# asp.net user-controls custom-server-controls
在 ASP.Net 中编写自定义控件时,我应该更喜欢哪种方法。我应该创建自定义用户控件还是应该创建复合 Web 服务器控件。以及如何为复合控件添加设计器支持。它们之间有何不同以及它们的优缺点。
最好各有一个例子。
【问题讨论】:
标签: c# asp.net user-controls custom-server-controls
官方文档中有对比:Composite Control vs. User Control
如果我打算向其他开发人员建议控件,我会选择复合控件,就像 3rd 方控件供应商所做的那样。然后,我会为这些控件添加设计器功能。
但是,如果我只是想开发在项目中执行自定义操作的控件,那么用户控件更容易编写,并且需要更少的 ASP.NET 内部知识。
旁注:Kothari 的书非常好,在开发复合控件时必须阅读,但这还不够。因为它是一本 ASP.NET 1.1 的书,所以没有提到出现在 ASP.NET 2 中的非常重要的概念:DataBoundControl 与 DataSourceControl 的概念。从 .NET 2+ 开始出现的所有 ASP.NET 自定义控件,如 FormView/GridView/DetailsView 和 ObjectDataSource、SqlDataSource 等,都是建立在本书根本没有涉及的这些基本概念之上的。不幸的是,这本书从未更新过,而且我不知道有任何其他书籍可以详细解释这一点。
【讨论】:
【讨论】: