ASP.NET Custom Server Controls: Breaking the Secrets of Rendering - What about the “AddAttributesToRender” method?
(Page 5 of 5 )
As I already explained above, it is the first method within “RenderBeginTag,” which gets executed to add respective attributes to the opening tags of the control. Internally within the ASP.NET framework, it has been defined something like this:
Protected override void AddAttributesToRender(HtmlTextWriter Writer)
{
Base.AddAttributesToRender(Writer);
}
It is always a good practice to have the statement “Base.AddAttributesToRender(Writer)” as the first statement within the above method. Never remove it (unless you have a reason to do so). There also exists one more secret behind it.
During the design time of VS.NET, you may be moving the control (or adjusting its size, or so on) to your favourite location (or even changing some of its properties). All that information (say CSS) would be remembered and written back to our control using this statement. If you forget this statement, your control works in a floating manner at the left-top of the web page (without having any design time attributes set).
Guidelines for beginners
The following are some of the guidelines, which may help you in developing ASP.NET custom controls:
- Even though I gave explanations for almost every method which participates in rendering, you should not try to implement all of them unnecessarily. Make a note that the ASP.NET framework is always optimized with its default implementations.
- When you start developing any new custom control, you will come across some funny outputs of your control. The best way to debug is to open the HTML source at the browser level and check the HTML rendered to the client (or browser) by your control. This way, it helps you to gain a faster understanding of what the control did for you.
- Special care must be taken when you develop composite controls (nested controls).
- Try to follow the naming convention of events and delegates very properly (when you try to implement your own events to your control).
- Never consider or confirm that “something” happens automatically. Try to know the concept behind it and go in depth to the scenario of what is happening. Never take anything for granted. This would give a chance for unknown problems (or bugs) to crop up in the future.
Any comments, suggestions, bugs, errors, feedback, and so forth are highly appreciated at jag_chat@yahoo.com.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |