ASP.NET Custom Server Controls: Cute ASP.NET TextBox Control Continued
(Page 1 of 5 )
In my previous article, I introduced you to how to create your own TextBox control with cool features without even deriving it from an existing ASP.NET TextBox control. In this article we will further enhance the same control with new rendering features, together with client-side JavaScript emission in a most flexible manner.
A file for this article is available for download
here.
The sample downloadable solution (zip) is entirely developed using Visual Studio.NET 2003 Enterprise Architect on Windows Server 2003 Standard Edition. But I am confident that it would work with other versions of Windows (which support .NET 1.1) as well.
Introduction
My previous articles have already shown you how to create any custom control from the scratch. Now, I will not be going into the details of creating a solution, project, etc. I will just take this opportunity to explain the features available and how they have been implemented in the above downloadable VS.NET solution.
In this article, I used four new methods of rendering (as opposed to only one “render” method in my previous articles). They are as follows:
- RenderBeginTag
- RenderContents
- RenderEndTag
- AddAttributesToRender
To be frank, all of the above methods are not really necessary for the TextBox control I developed. But, this gives me an opportunity to explain all four simultaneously. We can also implement all of our controls in a single “render” method as well. But, the above methods give much more flexibility by separating various divisions of rendering.
Now, if we don’t want to consider just the “render” method, we can forget about it completely and work on the other three methods, namely “RenderBeginTag,” “RenderContents,” and “RenderEndTag.” In fact, the “Render” method internally calls all these methods. “AddAttributesToRender” method is a special case, where it gets executed from within “RenderBeginTag.”
The “RenderBeginTag” should generally be implemented with all the opening tags of the control (together with their attributes). “RenderContents” generally contains the information which is required to be displayed (even child control information) within the same control. Finally, “RenderEndTag” should be implemented with all the closing tags which were opened in “RenderBeginTag.”
Next: Understanding the life cycle – Rendering methods >>
More ASP.NET Articles
More By Jagadish Chaterjee