How (if at all) can you make an ASP.NET UserControl inherit from another UserControl?

In Windows Forms it’s easy to inherit one user control from another. The inherited control contains all the controls of the parent form, and you can add some more. Can the same be done with ASP.NET? I’m talking about the .ASCX type of user controls.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

The short answer is no it can’t be easily done. There’s no inheritance between user controls or webforms. You can create an inheritance hierarchy between the code behinds classes but the gui components aren’t inherited.

Method 2

The difference between the windows forms example and the web forms example, is the control has a tagged portion. I imagine this can be overcome, some day, as web applications compile everything (at least in some instances), but it is not the case today.

You can, however, slap a user control on another user control, ad nauseum. It will not give you inheritance, but it does allow you to adorn a particular control with additional controls by making a composite of the original control and the stuff you need to add to it. That might solve your problem?

Method 3

You could certainly inherit the base user control in code and insert your additional controls in code, if you are talking building in a visual designer then I’m not sure. I’m aware of creating composite controls from both system.web controls and user controls so there’s no reason that your new control couldn’t contain another user control with additional controls added around it.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x