When the standard toolkit of ASP.Net server controls do not provide the required functionality, Web User controls can be built or used. Web User controls are built in the same way as Web Forms (.aspx), though it cannot contain the <HTML>, <BODY>, and <FORM> html elements, as these will be held in the Web Form where the control will be hosted.
Web User controls in ASP.NET end with the extension .ascx. They can be used in an ASP.NET page by registering them either on the page with the Register tag or in the web.config file. User Controls are very useful when reusing logic. Custom server controls are used in a situations where the code will be reused through a DLL.
Example
<%@ Register src="~/Controls/LatestPosts.ascx" TagName="LatestPosts" TagPrefix="pageElements" %>
<pageElements:LatestPosts ID="latest1" runat="server"></pageElements:LatestPosts>
Links
This article was originally posted at
http://wiki.asp.net/page.aspx/379/ascx
The ASP.NET Wiki was started by Scott Hanselman in February of 2008. The idea is that folks spend a lot of time trolling the blogs, googlinglive-searching for answers to common "How To" questions. There's piles of fantastic community-created and MSFT-created content out there, but if it's not found by a search engine and the right combination of keywords, it's often lost.
The ASP.NET Wiki articles moved to CodeProject in October 2013 and will live on, loved, protected and updated by the community.