c# - 用户控件和复合 Web 服务器控件

标签 c# asp.net user-controls custom-server-controls

在 ASP.Net 中编写自定义控件时,我应该更喜欢哪种方法。我应该创建一个自定义用户控件还是应该创建一个复合 Web 服务器控件。以及如何向复合控件添加设计器支持。它们之间有何不同以及它们的优缺点。

与每个示例的差异将是可取的。

最佳答案

官方文档中有对比:Composite Control vs. User Control

如果我打算像第 3 方控件供应商那样向其他开发人员推荐控件,我会选择复合控件。然后,我会为这些控件添加设计器功能。

但是,如果我只想开发在项目中执行自定义操作的控件,那么用户控件更容易编写,并且需要更少的 ASP.NET 内部知识。

旁注:Kothari 的书非常好,是开发复合控件时必读的书,但这还不够。因为它是一本 ASP.NET 1.1 的书,所以没有提到 ASP.NET 2 中出现的非常重要的概念:DataBoundControlDataSourceControl 的概念。所有从 .NET 2+ 开始出现的 ASP.NET 自定义控件,如 FormView/GridView/DetailsView 和 ObjectDataSource、SqlDataSource 等,都是建立在这些本书根本没有涉及的基本概念之上的。不幸的是,这本书从未更新过,而且我不知道有任何其他书籍对此进行了足够详细的解释。

关于c# - 用户控件和复合 Web 服务器控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530118/

相关文章:

c# - 添加 toastr javascript asp.net webform

c# - 秋季创作者更新性能问题

c# - 使用组合框作为搜索条件

asp.net DataGrid 并强制它与我现有的结构一起工作

javascript - 在用户控件中保留值的好方法是什么

asp.net - 不明确的引用错误

c# 检查给定的 Sharepoint 路径是否是根 sharepoint 路径?

c# - 如何通过代码隐藏从第三方获取用户的客户端IP

asp.net - WPF 应用程序转换为 ASP

c# - 水平滚动条在 winforms 用户控件中不起作用