If the existing ASP.NET server control does not meet the specific requirements of the application, you can create a web user control or web custom control you need to encapsulate. The main difference between these two controls is the easy-creativity and ease of use when designing.
Web user controls are easy to create, but they may be less convenient in the advanced program. Developing a web user control method is almost identical to developing a web form page. Similar to the web form, the user control can be created in the visual designer, and can be written using the code isolated from HTML, and can process the execution event. However, since the web user control is dynamically compiled during runtime, they cannot be added to the toolbox, and they are represented by a simple placeholder flag symbol when adding to the page. If you are accustomed to full Visual Studio .NET design (including the Properties "window and" Design "view preview), this will make web user controls more inconvenient. In addition, the only way to share user controls between applications is to place a separate copy into each application, so if you make changes to the control, it will need to be more maintenance.
Web Custom Controls are compiled code, which makes web custom controls more easily but more difficult to create; Web custom controls must be created using code. Once the control is created, you can add it to the toolbox and display the control in a visualization designer that has the full "Properties" window support and the ASP.NET server control. In addition, a single copy of the web custom control can also be installed in the global assembly cache, and sharing the copy between the application, which will make maintenance easier. For more information, see the global assembly cache.
If your control contains a lot of static layout, the user control may be better. If your control is primarily generated (eg, the tab of the data binding table, the tab of the tree view or tab control, the custom control may be better.