<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>-[Danny Chen]- Blog of an ASP.NET QA tester</title><link>http://weblogs.asp.net/dannychen/default.aspx</link><description>Tips and info about Site Navigation, ImageMap, Menu and other cool ASP.NET v2.0 features.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>I have a new blog:  http://blogs.msdn.com/dannychen</title><link>http://weblogs.asp.net/dannychen/archive/2006/03/07/439790.aspx</link><pubDate>Wed, 08 Mar 2006 00:22:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:439790</guid><dc:creator>dannychen</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/dannychen/rsscomments.aspx?PostID=439790</wfw:commentRss><comments>http://weblogs.asp.net/dannychen/archive/2006/03/07/439790.aspx#comments</comments><description>&lt;p&gt;The ASP.NET weblogs are still using .Text which, frankly, is a bit annoying to work with and just plain 'old'.&amp;nbsp; &lt;a href="http://blogs.msdn.com/petel"&gt;Pete LePage&lt;/a&gt; showed me the MSDN blogs which use the (much newer) Community Server 2.0 codebase so I'm going to switch to it.&amp;nbsp; They look much cooler anyway.&amp;nbsp; Hopefully my blog will still be syndicated on ASP.NET so the readers&amp;nbsp;can keep up to date with my happenings.&lt;/p&gt; &lt;p&gt;In other news, you'll notice on the new blog that I'm now a "Visual Web Developer" tester as well.&amp;nbsp; Actually, the truth is that after ASP.NET 2.0 shipped, I found it to be a prime opportunity to shift jobs and join the test team that is responsible for the GUI.&amp;nbsp; While both teams are quite integrated, they are certainly distinct and have their own test methodologies.&amp;nbsp; This is going to be a great experience and I really like my new team.&amp;nbsp; &lt;/p&gt; &lt;p&gt;However, I can't seem to just let go of controls so I expect you'll continue to see posts from me about custom controls and navigation tricks as well as a strong forum presence.&amp;nbsp;&lt;/p&gt; &lt;p&gt;Here is the new address: &lt;a href="http://blogs.msdn.com/dannychen"&gt;http://blogs.msdn.com/dannychen&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=439790" width="1" height="1"&gt;</description></item><item><title>IE7 Beta and VWD Style Builder.</title><link>http://weblogs.asp.net/dannychen/archive/2006/03/06/439678.aspx</link><pubDate>Mon, 06 Mar 2006 16:45:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:439678</guid><dc:creator>dannychen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/dannychen/rsscomments.aspx?PostID=439678</wfw:commentRss><comments>http://weblogs.asp.net/dannychen/archive/2006/03/06/439678.aspx#comments</comments><description>&lt;p&gt;There's a bug in the IE7 beta which seems to break the style builder.&amp;nbsp; Of course we'll work on getting it fixed but in the meantime, if you happen to have IE7 installed, there's a workaround you can apply.&lt;/p&gt; &lt;p&gt;Create a new DWORD reg-key named "devenv.exe" with the value "0" at the following location:&lt;/p&gt; &lt;p&gt;"&lt;font size="2"&gt;HKLM\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_CSS_DATA_RESPECTS_XSS_ZONE_SETTING_KB912120"&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&lt;font size="3"&gt;Read more about it here:&amp;nbsp; &lt;a href="http://blogs.msdn.com/petel"&gt;http://blogs.msdn.com/petel&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/p&gt;&lt;/font&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=439678" width="1" height="1"&gt;</description></item><item><title>Top results for the loading control challenge.</title><link>http://weblogs.asp.net/dannychen/archive/2006/03/02/439437.aspx</link><pubDate>Thu, 02 Mar 2006 18:00:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:439437</guid><dc:creator>dannychen</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/dannychen/rsscomments.aspx?PostID=439437</wfw:commentRss><comments>http://weblogs.asp.net/dannychen/archive/2006/03/02/439437.aspx#comments</comments><description>&lt;p&gt;Thank you everyone for sharing your code with me.&amp;nbsp; There were quite a few excellent submissions and I learned a few things.&amp;nbsp; Here are the top entries I received so far for the challenge.&amp;nbsp; I'll add to this list if any more come in that I feel are worth mention.&lt;/p&gt; &lt;p&gt;crms -at- sima.com is an&amp;nbsp;Elite ASP.NET hacker and submitted this solution:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://weblogs.asp.net/dannychen/articles/439435.aspx"&gt;http://weblogs.asp.net/dannychen/articles/439435.aspx&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Raj Kaimal is an&amp;nbsp;Elite ASP.NET hacker and submitted this solution:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a id="Editor_Edit_hlEntryLink" title="view: Custom Control Challenge - Entry #2" href="/dannychen/articles/439436.aspx" target="_blank"&gt;&lt;font color="#002c99"&gt;http://weblogs.asp.net/dannychen/articles/439436.aspx&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Raj also gets&amp;nbsp;extra credit&amp;nbsp;for coming up with&amp;nbsp;a sample page using async tasks to demo his control.&lt;/p&gt; &lt;p&gt;Both of these are very fine solutions,&amp;nbsp;but&amp;nbsp;not quite perfect.&amp;nbsp; Most critically, both&amp;nbsp;run into&amp;nbsp;an issue that I don't know if it can even be worked around.&amp;nbsp; Intermittently, ASP.NET throws an error: &lt;/p&gt; &lt;p&gt;&lt;span style="FONT-SIZE: 18pt; FONT-STYLE: italic"&gt;Session state has created a session id, but cannot save it because the response was already flushed by the application.&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p&gt;I talked with some dev's about this and they seem to think it's pretty cut-and-dry.&amp;nbsp; Using Response.Flush pretty much causes this and can't really be worked around.&amp;nbsp; And this can't really be done without Response.Flush.&lt;/p&gt; &lt;p&gt;Secondly, both are hardcoded to display a fixed message.&amp;nbsp; It would be really nice if they were Templated instead to give the users flexibility in the display.&amp;nbsp; This is a trivial amount of work, however...&lt;/p&gt; &lt;p&gt;None-the-less, I learned that this was indeed possible and in-fact, not that hard to do.&amp;nbsp; Hopefully someone else will be able to benefit from these examples.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=439437" width="1" height="1"&gt;</description></item><item><title>We are Hiring.</title><link>http://weblogs.asp.net/dannychen/archive/2006/02/24/438985.aspx</link><pubDate>Fri, 24 Feb 2006 18:52:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:438985</guid><dc:creator>dannychen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/dannychen/rsscomments.aspx?PostID=438985</wfw:commentRss><comments>http://weblogs.asp.net/dannychen/archive/2006/02/24/438985.aspx#comments</comments><description>&lt;p&gt;Do you want to help&amp;nbsp;make ASP.NET and Visual Studio even better in the next version?&amp;nbsp; We are looking for the brightest and the most talented candidates to fill some challenging positions in our team.&amp;nbsp; If you think you have the skills, guts, and determination to help improve the lives of web developers and shape web technology for the future, follow this link and submit your resume.&lt;/p&gt; &lt;p&gt;&lt;a href="http://forums.asp.net/1197654/ShowPost.aspx"&gt;http://forums.asp.net/1197654/ShowPost.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;UPDATE:&amp;nbsp; I've received quite a few submissions from people through comments or direct email.&amp;nbsp; While I really appreciate the interest you've shown,&amp;nbsp;unfortunately, I am not the hiring manager and therefore&amp;nbsp;these decisions are not mine to make.&amp;nbsp; So, I will not be able to respond to these posts or publish any of the submissions through feedback.&amp;nbsp; &lt;strong&gt;If you're interested, you NEED to follow the link above.&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=438985" width="1" height="1"&gt;</description></item><item><title>A custom control challenge - make a page loading control that just works.</title><link>http://weblogs.asp.net/dannychen/archive/2006/02/24/438983.aspx</link><pubDate>Fri, 24 Feb 2006 18:37:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:438983</guid><dc:creator>dannychen</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/dannychen/rsscomments.aspx?PostID=438983</wfw:commentRss><comments>http://weblogs.asp.net/dannychen/archive/2006/02/24/438983.aspx#comments</comments><description>&lt;p&gt;It is a fairly well known technique to use Response.Buffer and Response.Flush to make a "please wait" or "Loading..." message appear when you know a page is going to take a while to load.&amp;nbsp; So I was quite estatic when I read on ScottGu's &lt;A href="http://weblogs.asp.net/scottgu"&gt;blog&lt;/a&gt;&amp;nbsp;that someone&amp;nbsp;(&lt;a href="http://www.lennybacon.com"&gt;Daniel Fisher&lt;/a&gt;) had done what I've wanted to do for a while: formalize this trick&amp;nbsp;into a nice tidy custom control you can just drop onto a page.&amp;nbsp; You can see it here:&amp;nbsp;&amp;nbsp;&lt;a href="http://www.lennybacon.com/PleaseWaitBuildingAWaitScreenControlForASPNET.aspx"&gt;http://www.lennybacon.com/PleaseWaitBuildingAWaitScreenControlForASPNET.aspx&lt;/a&gt;.&amp;nbsp; It is really a very&amp;nbsp;slick control.&amp;nbsp; However, there was one problem I couldn't (and still can't) figure out which stopped me from writing this control initially.&amp;nbsp; When I look more closely at Daniel's code, I noticed that he hadn't solved&amp;nbsp;this problem either.&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;strong&gt;&lt;u&gt;The problem&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt; &lt;/p&gt; &lt;p&gt;How do you write the control so that it doesn't wrap a specific function but instead works against the natural page loading time&amp;nbsp;itself.&amp;nbsp; Here's a scenario to help describe what I mean.&amp;nbsp; Lets say you develop a page with a&amp;nbsp;couple&amp;nbsp;GridView's and DetailsViews bound to&amp;nbsp;SqlDataSource's.&amp;nbsp; Everything works great in your mock up but as soon as you deploy it against your live data, you find that the page takes 2-8 seconds to load.&amp;nbsp; It would be awesome if you could simple take this "loading ..." control, drop it onto your page and -bang- the functionality is added.&amp;nbsp; Now, I know there's an easy solution using Daniels code and simple adding the DataBinding logic into his OnProcess method, but that's not the point.&amp;nbsp; This should be a drag-and-drop solution.&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;&lt;strong&gt;&lt;u&gt;The challenge&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt; &lt;/p&gt; &lt;p&gt;Create a custom control that provides similar functionality to Daniels but works against the page&amp;nbsp;processing time.&amp;nbsp;&amp;nbsp;A "drag and drop" kind of&amp;nbsp;solution.&amp;nbsp; If you think you can do something that even&amp;nbsp;I can't figure out how to do, please contact me through my blog and I will get back to you over email.&amp;nbsp; I'll post the best submissions I receive and&amp;nbsp;declare&amp;nbsp;the submitters to be&amp;nbsp;"Elite ASP.NET Hackers"&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=438983" width="1" height="1"&gt;</description></item><item><title>Saving unicode content with encoding</title><link>http://weblogs.asp.net/dannychen/archive/2006/02/23/438906.aspx</link><pubDate>Thu, 23 Feb 2006 19:07:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:438906</guid><dc:creator>dannychen</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/dannychen/rsscomments.aspx?PostID=438906</wfw:commentRss><comments>http://weblogs.asp.net/dannychen/archive/2006/02/23/438906.aspx#comments</comments><description>&lt;p&gt;Here's a quick tip that you may or may not know about.&amp;nbsp; In Visual Studio (and possibly other MS programs) it's not enough to paste some unicode content into your file and then hit save.&amp;nbsp; You'll also need to save it with the correct encoding.&amp;nbsp; However, once you save&amp;nbsp;the file with a particular encoding, it will continue to use that&amp;nbsp;encoding until you switch it (this means you won't have to keep&amp;nbsp;doing this for each save)&lt;/p&gt; &lt;p&gt;Here are the steps to do this:&amp;nbsp; &lt;/p&gt; &lt;p&gt;simple choose file-&amp;gt;save as&lt;br /&gt;in the save-as dialog the "Save" button has a little pull down arrow.&lt;br /&gt;Select this arrow and then choose "Save With Encoding"&lt;br /&gt;This will open a dialog with a drop down that lists all the supported encodings.&lt;/p&gt; &lt;p&gt;Here are some screenshot to help out:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://dannychen.members.winisp.net/blog/2006_02_23/2006_02_23_001.jpg" /&gt; &lt;img src="http://dannychen.members.winisp.net/blog/2006_02_23/2006_02_23_002.jpg" /&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=438906" width="1" height="1"&gt;</description></item><item><title>Making the CompiledTemplateBuilder work for you.  Create a Template Library.</title><link>http://weblogs.asp.net/dannychen/archive/2006/01/27/436714.aspx</link><pubDate>Fri, 27 Jan 2006 21:00:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:436714</guid><dc:creator>dannychen</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/dannychen/rsscomments.aspx?PostID=436714</wfw:commentRss><comments>http://weblogs.asp.net/dannychen/archive/2006/01/27/436714.aspx#comments</comments><description>&lt;p&gt;This is a bit of a follow on&amp;nbsp;to my &lt;A href="http://weblogs.asp.net/dannychen/archive/2006/01/25/436454.aspx"&gt;last post&lt;/a&gt;.&amp;nbsp; At the end, I made an update about how to make use of custom TreeNodes in a databound scenario.&amp;nbsp; I did that example with the CSSTreeNode instead of the TemplatedTreeNode because the custom property in the templated case was an ITemplate.&amp;nbsp; Trying to assign a value to that property is a great deal more difficult than a string property.&amp;nbsp; And that got me thinking...&lt;/p&gt; &lt;p&gt;Lets start with something that seems pretty simple:&amp;nbsp; &lt;/p&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;asp&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;SiteMapPath&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ID&lt;/font&gt;&lt;font color="blue"&gt;="SiteMapPath1"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;NodeTemplate&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;%&lt;/font&gt;&lt;font color="blue"&gt;#&lt;/font&gt;&lt;font color="black"&gt; Eval(&lt;/font&gt;&lt;font color="maroon"&gt;"title"&lt;/font&gt;&lt;font color="black"&gt;) %&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;NodeTemplate&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;asp&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;SiteMapPath&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt; &lt;/div&gt; &lt;p&gt;What if you wanted to add this control to the page dynamically?&amp;nbsp; How would you write it in code?&amp;nbsp; Well, adding the SiteMapPath to the page is pretty simple.&amp;nbsp; But the NodeTemplate isn't so simple.&amp;nbsp; What actually happens in that case is a mechanism in the framework creates a new object on the fly that implements the ITemplate interface and generates some code to populate the template.&amp;nbsp; In order to do this manually,&amp;nbsp;the developer would have to create his/her own ITemplate object and databinding code.&amp;nbsp; Here's a simplified version of what that code might look like:&lt;/p&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;MyTemplate&lt;/font&gt;&lt;font color="black"&gt; : &lt;/font&gt;&lt;font color="teal"&gt;ITemplate&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; InstantiateIn(&lt;/font&gt;&lt;font color="teal"&gt;Control&lt;/font&gt;&lt;font color="black"&gt; container)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;Label&lt;/font&gt;&lt;font color="black"&gt; l1 = &lt;/font&gt;&lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;Label&lt;/font&gt;&lt;font color="black"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container.Controls.Add(l1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;l1.DataBinding += &lt;/font&gt;&lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;EventHandler&lt;/font&gt;&lt;font color="black"&gt;(l1_DataBinding);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; l1_DataBinding(&lt;/font&gt;&lt;font color="blue"&gt;object&lt;/font&gt;&lt;font color="black"&gt; sender, &lt;/font&gt;&lt;font color="teal"&gt;EventArgs&lt;/font&gt;&lt;font color="black"&gt; e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;Label&lt;/font&gt;&lt;font color="black"&gt; l1 = sender &lt;/font&gt;&lt;font color="blue"&gt;as&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;Label&lt;/font&gt;&lt;font color="black"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;SiteMapNodeItem&lt;/font&gt;&lt;font color="black"&gt; container = l1.BindingContainer &lt;/font&gt;&lt;font color="blue"&gt;as&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;SiteMapNodeItem&lt;/font&gt;&lt;font color="black"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;l1.Text = container.SiteMapNode.Title;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/font&gt; &lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;partial&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;TestPage&lt;/font&gt;&lt;font color="black"&gt; : System.Web.UI.&lt;/font&gt;&lt;font color="teal"&gt;Page&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; Page_Load(&lt;/font&gt;&lt;font color="blue"&gt;object&lt;/font&gt;&lt;font color="black"&gt; sender, &lt;/font&gt;&lt;font color="teal"&gt;EventArgs&lt;/font&gt;&lt;font color="black"&gt; e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;SiteMapPath&lt;/font&gt;&lt;font color="black"&gt; smp = &lt;/font&gt;&lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;SiteMapPath&lt;/font&gt;&lt;font color="black"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;smp.NodeTemplate = &lt;/font&gt;&lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;MyTemplate&lt;/font&gt;&lt;font color="black"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;form1.Controls.Add(smp);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/font&gt; &lt;/div&gt;&lt;/div&gt; &lt;p&gt;Keep in mind, this code is for a single eval statement.&amp;nbsp; If you wanted to add several controls, some styles, maybe another template or two (perhaps&amp;nbsp;20 lines of markup), this could quickly become 100+ lines of code for this single control.&amp;nbsp; This is especially&amp;nbsp;unfortunate because this is work that the parser can do reliably and quickly.&amp;nbsp; &lt;/p&gt; &lt;p&gt;So the question is, how can I get the parser to parse the template markup for me and yet present me with a reference to the ITemplate object instead of consuming it?&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;The Template Library Control&lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;/p&gt;&lt;/font&gt;&lt;/strong&gt; &lt;p&gt;What we need is a control (with no rendering,&amp;nbsp;kind of like&amp;nbsp;a datasource)&amp;nbsp;with a public property that is a&amp;nbsp;collection of templates.&amp;nbsp; Then similarly to how the&amp;nbsp;page parser will&amp;nbsp;populate a ListItem collection or a MenuItem collection for you, it could populate a Template collection.&amp;nbsp; It'd be additionally nice to have random access to the list through a Name rather than by index.&amp;nbsp; Amazingly enough, this&amp;nbsp;actually works:&amp;nbsp;(link to full listing at the bottom of the article):&lt;/p&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/font&gt;&lt;font color="teal"&gt;ParseChildren&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;true&lt;/font&gt;&lt;font color="black"&gt;,&lt;/font&gt;&lt;font color="maroon"&gt;"Templates"&lt;/font&gt;&lt;font color="black"&gt;), &lt;/font&gt;&lt;font color="teal"&gt;PersistChildren&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;false&lt;/font&gt;&lt;font color="black"&gt;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplateLibrary&lt;/font&gt;&lt;font color="black"&gt; : &lt;/font&gt;&lt;font color="teal"&gt;Control&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; TemplateLibrary()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_templates = &lt;/font&gt;&lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplateList&lt;/font&gt;&lt;font color="black"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplateList&lt;/font&gt;&lt;font color="black"&gt; _templates;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/font&gt;&lt;font color="teal"&gt;PersistenceMode&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="teal"&gt;PersistenceMode&lt;/font&gt;&lt;font color="black"&gt;.InnerProperty)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplateList&lt;/font&gt;&lt;font color="black"&gt; Templates&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;{&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;return&lt;/font&gt;&lt;font color="black"&gt; _templates;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplateList&lt;/font&gt;&lt;font color="black"&gt; : &lt;/font&gt;&lt;font color="teal"&gt;List&lt;/font&gt;&lt;font color="black"&gt;&amp;lt;&lt;/font&gt;&lt;font color="teal"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;[&lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt; key]&amp;nbsp;{ ...&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; : &lt;/font&gt;&lt;font color="teal"&gt;ITemplate&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt; _name;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;ITemplate&lt;/font&gt;&lt;font color="black"&gt; _template;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt; Name { ...&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/font&gt;&lt;font color="teal"&gt;PersistenceMode&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="teal"&gt;PersistenceMode&lt;/font&gt;&lt;font color="black"&gt;.InnerDefaultProperty), &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="teal"&gt;TemplateContainer&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;typeof&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="teal"&gt;IDataItemContainer&lt;/font&gt;&lt;font color="black"&gt;))]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;ITemplate&lt;/font&gt;&lt;font color="black"&gt; Template { ...&lt;font color="black"&gt;&amp;nbsp;}&lt;/font&gt;&lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="black"&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#region&lt;/font&gt;&lt;font color="black"&gt; ITemplate Members&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; InstantiateIn(&lt;/font&gt;&lt;font color="teal"&gt;Control&lt;/font&gt;&lt;font color="black"&gt; container) { ... }&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#endregion&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/font&gt; &lt;/div&gt; &lt;p&gt;Here's how this might be used in markup:&lt;/p&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateLibrary&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ID&lt;/font&gt;&lt;font color="blue"&gt;="TemplateLibrary1"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Name&lt;/font&gt;&lt;font color="blue"&gt;="Template1"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;Some Content&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Name&lt;/font&gt;&lt;font color="blue"&gt;="Template2"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;Some Other Content&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateLibrary&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt; &lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; Page_Load(&lt;/font&gt;&lt;font color="blue"&gt;object&lt;/font&gt;&lt;font color="black"&gt; sender, &lt;/font&gt;&lt;font color="teal"&gt;EventArgs&lt;/font&gt;&lt;font color="black"&gt; e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Menu1.StaticItemTemplate = TemplateLibrary1.Templates[&lt;/font&gt;&lt;font color="maroon"&gt;"Template1"&lt;/font&gt;&lt;font color="black"&gt;];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Menu1.DynamicItemTemplate = TemplateLibrary1.Templates[&lt;/font&gt;&lt;font color="maroon"&gt;"Template2"&lt;/font&gt;&lt;font color="black"&gt;];&lt;br /&gt;}&lt;/font&gt; &lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;As shown here, the end result is that the templates are built by the parser but exposed through a public property on the control.&amp;nbsp; The control itself has no inherent rendering so it doesn't really affect the page output.&amp;nbsp; Since the templates are assigned in code, some special logic could be used to choose which template should be applied where.&amp;nbsp; Here are a couple more examples of things you can do that would, otherwise, have been&amp;nbsp;a great deal more difficult to accomplish.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Example 1&lt;/strong&gt;: This first example&amp;nbsp;makes uses of the templated TreeNodes from the previous post.&amp;nbsp; In this case, I'm choosing, dynamically, based on the data in web.sitemap, which template should be applied.&lt;/p&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;lt;%&lt;font color="blue"&gt;@&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="maroon"&gt;Page&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Language&lt;/font&gt;&lt;font color="blue"&gt;="C#"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Debug&lt;/font&gt;&lt;font color="blue"&gt;="true"&lt;/font&gt;&lt;font color="black"&gt; %&amp;gt;&lt;br /&gt;&amp;lt;%&lt;/font&gt;&lt;font color="blue"&gt;@&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="maroon"&gt;Register&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Namespace&lt;/font&gt;&lt;font color="blue"&gt;="MSSamples"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;TagPrefix&lt;/font&gt;&lt;font color="blue"&gt;="MS"&lt;/font&gt;&lt;font color="black"&gt; %&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;!&lt;/font&gt;&lt;font color="maroon"&gt;DOCTYPE&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;html&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;PUBLIC&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; MyTreeView1_TreeNodeDataBound(&lt;/font&gt;&lt;font color="blue"&gt;object&lt;/font&gt;&lt;font color="black"&gt; sender, &lt;/font&gt;&lt;font color="teal"&gt;TreeNodeEventArgs&lt;/font&gt;&lt;font color="black"&gt; e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt; (e.Node &lt;/font&gt;&lt;font color="blue"&gt;is&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplatedTreeNode&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;TemplatedTreeNode&lt;/font&gt;&lt;font color="black"&gt; tn = e.Node &lt;/font&gt;&lt;font color="blue"&gt;as&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplatedTreeNode&lt;/font&gt;&lt;font color="black"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;SiteMapNode&lt;/font&gt;&lt;font color="black"&gt; smn = e.Node.DataItem &lt;/font&gt;&lt;font color="blue"&gt;as&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;SiteMapNode&lt;/font&gt;&lt;font color="black"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt;( smn != &lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt; &amp;amp;&amp;amp; smn[&lt;/font&gt;&lt;font color="maroon"&gt;"preTemplate"&lt;/font&gt;&lt;font color="black"&gt;] != &lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt; )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tn.PreTextTemplate = TemplateLibrary1.Templates[ smn[&lt;/font&gt;&lt;font color="maroon"&gt;"preTemplate"&lt;/font&gt;&lt;font color="black"&gt;] ];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt;( smn != &lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt; &amp;amp;&amp;amp; smn[&lt;/font&gt;&lt;font color="maroon"&gt;"postTemplate"&lt;/font&gt;&lt;font color="black"&gt;] != &lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt; )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tn.PostTextTemplate = TemplateLibrary1.Templates[ smn[&lt;/font&gt;&lt;font color="maroon"&gt;"postTemplate"&lt;/font&gt;&lt;font color="black"&gt;] ];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;html&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;xmlns&lt;/font&gt;&lt;font color="blue"&gt;="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;head&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;id&lt;/font&gt;&lt;font color="blue"&gt;="Head1"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;title&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;Untitled Page&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;title&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;head&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;body&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;form&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;id&lt;/font&gt;&lt;font color="blue"&gt;="form1"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;MyTreeView&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ID&lt;/font&gt;&lt;font color="blue"&gt;="MyTreeView1"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ExpandDepth&lt;/font&gt;&lt;font color="blue"&gt;="2"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;DataSourceID&lt;/font&gt;&lt;font color="blue"&gt;="SiteMapDataSource1"&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="red"&gt;OnTreeNodeDataBound&lt;/font&gt;&lt;font color="blue"&gt;="MyTreeView1_TreeNodeDataBound"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;MyTreeView&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;asp&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;SiteMapDataSource&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ID&lt;/font&gt;&lt;font color="blue"&gt;="SiteMapDataSource1"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;/&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateLibrary&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ID&lt;/font&gt;&lt;font color="blue"&gt;="TemplateLibrary1"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Name&lt;/font&gt;&lt;font color="blue"&gt;="arrow"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;==&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Name&lt;/font&gt;&lt;font color="blue"&gt;="valuePath"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValuePath:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;%&lt;/font&gt;&lt;font color="blue"&gt;#&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;DataBinder&lt;/font&gt;&lt;font color="black"&gt;.Eval(Container.DataItem, &lt;/font&gt;&lt;font color="maroon"&gt;"ValuePath"&lt;/font&gt;&lt;font color="black"&gt;) %&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateLibrary&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;form&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;body&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;html&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="#000000" size="3"&gt;&lt;strong&gt;Web.SiteMap Contents:&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;&amp;lt;?&lt;/font&gt;&lt;font color="maroon"&gt;xml&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;version&lt;/font&gt;&lt;font color="blue"&gt;=&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;1.0&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;encoding&lt;/font&gt;&lt;font color="blue"&gt;=&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;utf-8&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt; ?&amp;gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;siteMap&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;xmlns&lt;/font&gt;&lt;font color="blue"&gt;=&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;http://schemas.microsoft.com/AspNet/SiteMap-File-1.0&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;siteMapNode&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;title&lt;/font&gt;&lt;font color="blue"&gt;=&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;Home&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;preTemplate&lt;/font&gt;&lt;font color="blue"&gt;=&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;arrow&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;siteMapNode&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;title&lt;/font&gt;&lt;font color="blue"&gt;=&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;Products&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt; &amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;siteMapNode&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;title&lt;/font&gt;&lt;font color="blue"&gt;=&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;Hardware&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt; &lt;/font&gt;&lt;font color="red"&gt;postTemplate&lt;/font&gt;&lt;font color="blue"&gt;=&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;valuePath&lt;/font&gt;&lt;font color="black"&gt;"&lt;/font&gt;&lt;font color="blue"&gt;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;siteMapNode&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;siteMapNode&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;siteMap&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt; &lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;strong&gt;&lt;font size="3"&gt;Output:&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;img src="http://dannychen.members.winisp.net/blog/2006_01_27/20060127_1.jpg" /&gt;&lt;/div&gt; &lt;p&gt;&lt;strong&gt;Example 2&lt;/strong&gt;: The key&amp;nbsp;concept in this example is that the template library could be shared through a user control to every page that requires it.&amp;nbsp; &lt;/p&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;strong&gt;&lt;font size="3"&gt;Templates.ascx:&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;lt;%&lt;font color="blue"&gt;@&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="maroon"&gt;Control&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Language&lt;/font&gt;&lt;font color="blue"&gt;="C#"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ClassName&lt;/font&gt;&lt;font color="blue"&gt;="Templates"&lt;/font&gt;&lt;font color="black"&gt; %&amp;gt;&lt;br /&gt;&amp;lt;%&lt;/font&gt;&lt;font color="blue"&gt;@&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="maroon"&gt;Register&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Namespace&lt;/font&gt;&lt;font color="blue"&gt;="MSSamples"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;TagPrefix&lt;/font&gt;&lt;font color="blue"&gt;="MS"&lt;/font&gt;&lt;font color="black"&gt; %&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplateLibrary&lt;/font&gt;&lt;font color="black"&gt; TLib&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;/font&gt;&lt;font color="black"&gt; { &lt;/font&gt;&lt;font color="blue"&gt;return&lt;/font&gt;&lt;font color="black"&gt; TemplateLibrary1; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateLibrary&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ID&lt;/font&gt;&lt;font color="blue"&gt;="TemplateLibrary1"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Name&lt;/font&gt;&lt;font color="blue"&gt;="greenTemplate"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;style&lt;/font&gt;&lt;font color="blue"&gt;="background-color:Green"&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;lt;%&lt;/font&gt;&lt;font color="blue"&gt;#&lt;/font&gt;&lt;font color="black"&gt; Eval(&lt;/font&gt;&lt;font color="maroon"&gt;"Text"&lt;/font&gt;&lt;font color="black"&gt;) %&amp;gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Name&lt;/font&gt;&lt;font color="blue"&gt;="yellowTemplate"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;style&lt;/font&gt;&lt;font color="blue"&gt;="background-color:Yellow"&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;lt;%&lt;/font&gt;&lt;font color="blue"&gt;#&lt;/font&gt;&lt;font color="black"&gt; Eval(&lt;/font&gt;&lt;font color="maroon"&gt;"Text"&lt;/font&gt;&lt;font color="black"&gt;) %&amp;gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Name&lt;/font&gt;&lt;font color="blue"&gt;="redTemplate"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;style&lt;/font&gt;&lt;font color="blue"&gt;="background-color:Red"&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;lt;%&lt;/font&gt;&lt;font color="blue"&gt;#&lt;/font&gt;&lt;font color="black"&gt; Eval(&lt;/font&gt;&lt;font color="maroon"&gt;"Text"&lt;/font&gt;&lt;font color="black"&gt;) %&amp;gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Template&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateItem&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;MS&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TemplateLibrary&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt; &lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;strong&gt;&lt;font size="3"&gt;MyPage.aspx&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;strong&gt;&lt;font size="4"&gt;&lt;/font&gt;&lt;/strong&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;lt;%&lt;font color="blue"&gt;@&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="maroon"&gt;Page&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Language&lt;/font&gt;&lt;font color="blue"&gt;="C#"&lt;/font&gt;&lt;font color="black"&gt; %&amp;gt;&lt;br /&gt;&amp;lt;%&lt;/font&gt;&lt;font color="blue"&gt;@&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="maroon"&gt;Import&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Namespace&lt;/font&gt;&lt;font color="blue"&gt;="MSSamples"&lt;/font&gt;&lt;font color="black"&gt; %&amp;gt;&lt;br /&gt;&amp;lt;%&lt;/font&gt;&lt;font color="blue"&gt;@&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="maroon"&gt;Register&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Src&lt;/font&gt;&lt;font color="blue"&gt;="Templates.ascx"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;TagName&lt;/font&gt;&lt;font color="blue"&gt;="Templates"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;TagPrefix&lt;/font&gt;&lt;font color="blue"&gt;="uc1"&lt;/font&gt;&lt;font color="black"&gt; %&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;!&lt;/font&gt;&lt;font color="maroon"&gt;DOCTYPE&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;html&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;PUBLIC&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; Page_Load(&lt;/font&gt;&lt;font color="blue"&gt;object&lt;/font&gt;&lt;font color="black"&gt; sender, &lt;/font&gt;&lt;font color="teal"&gt;EventArgs&lt;/font&gt;&lt;font color="black"&gt; e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;foreach&lt;/font&gt;&lt;font color="black"&gt;( &lt;/font&gt;&lt;font color="teal"&gt;TemplateItem&lt;/font&gt;&lt;font color="black"&gt; ti &lt;/font&gt;&lt;font color="blue"&gt;in&lt;/font&gt;&lt;font color="black"&gt; Templates1.TLib.Templates )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;Menu&lt;/font&gt;&lt;font color="black"&gt; m1 = &lt;/font&gt;&lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;Menu&lt;/font&gt;&lt;font color="black"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m1.Items.Add(&lt;/font&gt;&lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;MenuItem&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="maroon"&gt;"Item One"&lt;/font&gt;&lt;font color="black"&gt;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m1.Items.Add(&lt;/font&gt;&lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;MenuItem&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="maroon"&gt;"Item Two"&lt;/font&gt;&lt;font color="black"&gt;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;m1.StaticItemTemplate = ti;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;form1.Controls.Add(m1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;script&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;html&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;xmlns&lt;/font&gt;&lt;font color="blue"&gt;="http://www.w3.org/1999/xhtml"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;head&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;title&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;Untitled Page&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;title&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;head&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;body&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;form&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;id&lt;/font&gt;&lt;font color="blue"&gt;="form1"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;uc1&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;Templates&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;id&lt;/font&gt;&lt;font color="blue"&gt;="Templates1"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;uc1&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;Templates&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;div&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;form&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;body&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;html&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt; &lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;strong&gt;&lt;font size="3"&gt;Output:&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;img src="http://dannychen.members.winisp.net/blog/2006_01_27/20060127_2.jpg" /&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;EDIT: One subtle note that I don't really mention in the article.&amp;nbsp; A large portion of DataBinding happens through reflection.&amp;nbsp; This really lets the Templates in the "library" maintain their ability to databind even though the container and data object isn't yet known.&amp;nbsp; This is cool because if&amp;nbsp;two data objects happen to have the same property name, the same template could be used for either one.&amp;nbsp;&amp;nbsp;I did&amp;nbsp;assume that the container would be&amp;nbsp;an IDataItemContainer,&amp;nbsp;and that seems to work pretty well.&amp;nbsp; &lt;/div&gt; &lt;p&gt;&lt;A href="http://weblogs.asp.net/dannychen/articles/436700.aspx"&gt;Link to C# code listing&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=436714" width="1" height="1"&gt;</description></item><item><title>Customizing TreeNodes with RenderPreText and RenderPostText</title><link>http://weblogs.asp.net/dannychen/archive/2006/01/25/436454.aspx</link><pubDate>Wed, 25 Jan 2006 18:50:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:436454</guid><dc:creator>dannychen</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/dannychen/rsscomments.aspx?PostID=436454</wfw:commentRss><comments>http://weblogs.asp.net/dannychen/archive/2006/01/25/436454.aspx#comments</comments><description>&lt;p&gt;Most of the ASP.NET 2.0 controls provide ways for the users to customize the look at feel of the output.&amp;nbsp; Some controls such as the Button have relatively little that can be&amp;nbsp;customized while controls such as the DataList or Repeater allow the user nearly complete control over the rendering.&amp;nbsp; In some cases&amp;nbsp;such as a Label&amp;nbsp;this is presented through a series of properties that the user can set and in other cases, like Menu,&amp;nbsp;this is done through templating.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The TreeView offers a rather unique version.&amp;nbsp; The TreeNode object can be extended and used in place of the frameworks TreeNode.&amp;nbsp; In the object, two hooks are exposed that allow the developer to inject their own custom content.&amp;nbsp; These hooks are called "RenderPreText" and "RenderPostText".&amp;nbsp; They are enabled by creating an object which inherits from TreeNode and overriding these virtual functions.&amp;nbsp; Because they are virtual, the base TreeNode class will always call into the function defined in the subclass.&lt;/p&gt; &lt;p&gt;Here's a basic example that is pretty straight forward.&amp;nbsp; A bit of text is emitted from each handler to demonstrate their effect:&lt;/p&gt; &lt;table&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="50%"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="green"&gt;// Basic overriding of the Pre/Post Text methods&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// This is the simplist form that enables a developer to&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// add custom content to the rendering of the TreeNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;CustomTreeNode&lt;/font&gt;&lt;font color="black"&gt; : &lt;/font&gt;&lt;font color="teal"&gt;TreeNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;override&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; RenderPreText(&lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriter&lt;/font&gt;&lt;font color="black"&gt; writer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.Write(&lt;/font&gt;&lt;font color="maroon"&gt;" PRE TEXT "&lt;/font&gt;&lt;font color="black"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;.RenderPreText(writer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;override&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; RenderPostText(&lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriter&lt;/font&gt;&lt;font color="black"&gt; writer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.Write(&lt;/font&gt;&lt;font color="maroon"&gt;" POST TEXT "&lt;/font&gt;&lt;font color="black"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;.RenderPostText(writer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt; &lt;/div&gt;&lt;/td&gt; &lt;td valign="top" width="50%"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;asp&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TreeView&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ID&lt;/font&gt;&lt;font color="blue"&gt;="TreeView1"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Nodes&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;CustomTreeNode&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Text&lt;/font&gt;&lt;font color="blue"&gt;="Node A"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="red"&gt;Value&lt;/font&gt;&lt;font color="blue"&gt;="Node A"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;CustomTreeNode&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Text&lt;/font&gt;&lt;font color="blue"&gt;="Node B"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="red"&gt;Value&lt;/font&gt;&lt;font color="blue"&gt;="Node B"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;CustomTreeNode&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;CustomTreeNode&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Nodes&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;asp&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TreeView&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt; &lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://dannychen.members.winisp.net/blog/2006_01_25/20060125_1.jpg" /&gt; &lt;/img&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;You might imagine that there is a lot that can be accomplished through these methods.&amp;nbsp; Here are a couple examples I put together to demonstrate some various things that can be done:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Setting a per-node background image:&lt;/strong&gt;&lt;/p&gt; &lt;table&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="50%"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="green"&gt;// BG images for TreeNodes&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// This version adds two features.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// 1) it adds a specific property whose value is consumed&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// 2) it injects an additional control (&amp;lt;div&amp;gt;) into the rendering&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;BGTreeNode&lt;/font&gt;&lt;font color="black"&gt; : &lt;/font&gt;&lt;font color="teal"&gt;TreeNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;br /&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="green"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// This constructors is needed if a custom TreeView&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // instantiates this in CreateNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/font&gt;&lt;font color="black"&gt; BGTreeNode() : &lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;() { }&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/font&gt;&lt;font color="black"&gt; BGTreeNode(&lt;/font&gt;&lt;font color="teal"&gt;TreeView&lt;/font&gt;&lt;font color="black"&gt; owner, &lt;/font&gt;&lt;font color="blue"&gt;bool&lt;/font&gt;&lt;font color="black"&gt; isRoot) : &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;(owner, isRoot) { }&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt; _bgImageUrl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt; BackGroundImageUrl&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;/font&gt;&lt;font color="black"&gt; { &lt;/font&gt;&lt;font color="blue"&gt;return&lt;/font&gt;&lt;font color="black"&gt; _bgImageUrl;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;set&lt;/font&gt;&lt;font color="black"&gt; { _bgImageUrl = &lt;/font&gt;&lt;font color="blue"&gt;value&lt;/font&gt;&lt;font color="black"&gt;; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;override&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; RenderPreText(&lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriter&lt;/font&gt;&lt;font color="black"&gt; writer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.AddStyleAttribute( &lt;/font&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="teal"&gt;HtmlTextWriterStyle&lt;/font&gt;&lt;font color="black"&gt;.BackgroundImage, &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="maroon"&gt;"url('"&lt;/font&gt;&lt;font color="black"&gt; + BackGroundImageUrl + &lt;/font&gt;&lt;font color="maroon"&gt;"')"&lt;/font&gt;&lt;font color="black"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;//writer.AddStyleAttribute( &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp; HtmlTextWriterStyle.Height, "35px");&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;//writer.AddStyleAttribute( &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp; HtmlTextWriterStyle.Width, "300px");&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.AddStyleAttribute( &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="teal"&gt;HtmlTextWriterStyle&lt;/font&gt;&lt;font color="black"&gt;.TextAlign, &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="maroon"&gt;"center"&lt;/font&gt;&lt;font color="black"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.RenderBeginTag( &lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriterTag&lt;/font&gt;&lt;font color="black"&gt;.Div );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;.RenderPreText(writer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;override&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; RenderPostText(&lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriter&lt;/font&gt;&lt;font color="black"&gt; writer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.RenderEndTag();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;.RenderPostText(writer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt; &lt;/div&gt;&lt;/td&gt; &lt;td valign="top" width="50%"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;asp&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TreeView&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ID&lt;/font&gt;&lt;font color="blue"&gt;="TreeView2"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Nodes&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;BGTreeNode&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Text&lt;/font&gt;&lt;font color="blue"&gt;="Node A"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Value&lt;/font&gt;&lt;font color="blue"&gt;="A"&lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&lt;/font&gt;&lt;font color="red"&gt;BackgroundImageUrl&lt;/font&gt;&lt;font color="blue"&gt;="bg2.jpg"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;BGTreeNode&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Text&lt;/font&gt;&lt;font color="blue"&gt;="Node B"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Value&lt;/font&gt;&lt;font color="blue"&gt;="B"&lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="red"&gt;BackgroundImageUrl&lt;/font&gt;&lt;font color="blue"&gt;="bg3.jpg"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;BGTreeNode&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;BGTreeNode&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Nodes&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;asp&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TreeView&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt; &lt;/div&gt;&lt;img src="http://dannychen.members.winisp.net/blog/2006_01_25/20060125_2.jpg" /&gt; &lt;/img&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;Creating individual TreeNode CSS styles:&lt;/strong&gt;&lt;/p&gt; &lt;table&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="50%"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="green"&gt;// CssClasses per TreeNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// This is a more general form of the &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // background image treeNode.&amp;nbsp;&amp;nbsp;This would enable&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// invidividual customization of TreeNodes&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;CSSTreeNode&lt;/font&gt;&lt;font color="black"&gt; : &lt;/font&gt;&lt;font color="teal"&gt;TreeNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="green"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// This constructors is needed if a custom TreeView&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // instantiates this in CreateNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/font&gt;&lt;font color="black"&gt; CSSTreeNode() : &lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;() { }&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/font&gt;&lt;font color="black"&gt; CSSTreeNode(&lt;/font&gt;&lt;font color="teal"&gt;TreeView&lt;/font&gt;&lt;font color="black"&gt; owner, &lt;/font&gt;&lt;font color="blue"&gt;bool&lt;/font&gt;&lt;font color="black"&gt; isRoot) : &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;(owner, isRoot) { }&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt; _cssClass;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;string&lt;/font&gt;&lt;font color="black"&gt; CssClass&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;/font&gt;&lt;font color="black"&gt; { &lt;/font&gt;&lt;font color="blue"&gt;return&lt;/font&gt;&lt;font color="black"&gt; _cssClass; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;set&lt;/font&gt;&lt;font color="black"&gt; { _cssClass = &lt;/font&gt;&lt;font color="blue"&gt;value&lt;/font&gt;&lt;font color="black"&gt;; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;override&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; RenderPreText(&lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriter&lt;/font&gt;&lt;font color="black"&gt; writer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.AddAttribute( &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="teal"&gt;HtmlTextWriterAttribute&lt;/font&gt;&lt;font color="black"&gt;.Class, CssClass);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.RenderBeginTag(&lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriterTag&lt;/font&gt;&lt;font color="black"&gt;.Div);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;.RenderPreText(writer);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;override&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; RenderPostText(&lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriter&lt;/font&gt;&lt;font color="black"&gt; writer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.RenderEndTag();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;.RenderPostText(writer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/font&gt; &lt;/div&gt;&lt;/td&gt; &lt;td valign="top" width="50%"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;asp&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TreeView&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;ID&lt;/font&gt;&lt;font color="blue"&gt;="TreeView3"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;runat&lt;/font&gt;&lt;font color="blue"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;Nodes&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;CssTreeNode&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Text&lt;/font&gt;&lt;font color="blue"&gt;="Node A"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Value&lt;/font&gt;&lt;font color="blue"&gt;="Node A"&lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&lt;/font&gt;&lt;font color="red"&gt;CssClass&lt;/font&gt;&lt;font color="blue"&gt;="nodea"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;CssTreeNode&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="red"&gt;Text&lt;/font&gt;&lt;font color="blue"&gt;="Node B"&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="red"&gt;&amp;nbsp; Value&lt;/font&gt;&lt;font color="blue"&gt;="Node B"&lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/font&gt;&lt;font color="red"&gt;CssClass&lt;/font&gt;&lt;font color="blue"&gt;="nodeb"&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;CssTreeNode&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;My&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;CssTreeNode&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;Nodes&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="maroon"&gt;asp&lt;/font&gt;&lt;font color="blue"&gt;:&lt;/font&gt;&lt;font color="maroon"&gt;TreeView&lt;/font&gt;&lt;font color="blue"&gt;&amp;gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt; &lt;/div&gt;&lt;br /&gt;&lt;img src="http://dannychen.members.winisp.net/blog/2006_01_25/20060125_3.jpg" /&gt; &lt;/img&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;&lt;strong&gt;And the&amp;nbsp;ultimate - Templating the PreText/PostText content&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Update:&amp;nbsp; One issue I found when using this was that the template needs to be repeatedly assigned.&amp;nbsp; If you need any kind of reuse, there's a follow up technique:&amp;nbsp;&lt;A href="http://weblogs.asp.net/dannychen/archive/2006/01/27/436714.aspx"&gt;http://weblogs.asp.net/dannychen/archive/2006/01/27/436714.aspx&lt;/a&gt;&lt;/p&gt; &lt;table&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td valign="top" width="50%"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="green"&gt;// Templated PreText and PostText of a TreeNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// This enables individual TreeNodes to be able to Template some of their contents.&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// Done this way, it is a per-node basis meaning that each node that is to be templated&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// would need the markup for the template it it's declaration.&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/font&gt;&lt;font color="teal"&gt;ParseChildren&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;false&lt;/font&gt;&lt;font color="black"&gt;)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TemplatedTreeNode&lt;/font&gt;&lt;font color="black"&gt; : &lt;/font&gt;&lt;font color="teal"&gt;TreeNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;br /&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="green"&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// This constructors is needed if a custom TreeView&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // instantiates this in CreateNode&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/font&gt;&lt;font color="black"&gt; TemplatedTreeNode() : &lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;() { }&lt;br /&gt;&lt;/font&gt;&lt;font color="blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public&lt;/font&gt;&lt;font color="black"&gt; TemplatedTreeNode(&lt;/font&gt;&lt;font color="teal"&gt;TreeView&lt;/font&gt;&lt;font color="black"&gt; owner, &lt;/font&gt;&lt;font color="blue"&gt;bool&lt;/font&gt;&lt;font color="black"&gt; isRoot) : &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;(owner, isRoot) { }&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/font&gt;&lt;font color="black"&gt;&lt;br /&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;ITemplate&lt;/font&gt;&lt;font color="black"&gt; _preTextTemplate;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/font&gt;&lt;font color="teal"&gt;PersistenceMode&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="teal"&gt;PersistenceMode&lt;/font&gt;&lt;font color="black"&gt;.InnerProperty),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="teal"&gt;TemplateContainer&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;typeof&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="teal"&gt;TreeNodeTemplateContainer&lt;/font&gt;&lt;font color="black"&gt;))]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;ITemplate&lt;/font&gt;&lt;font color="black"&gt; PreTextTemplate&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;/font&gt;&lt;font color="black"&gt; { &lt;/font&gt;&lt;font color="blue"&gt;return&lt;/font&gt;&lt;font color="black"&gt; _preTextTemplate; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;set&lt;/font&gt;&lt;font color="black"&gt; { _preTextTemplate = &lt;/font&gt;&lt;font color="blue"&gt;value&lt;/font&gt;&lt;font color="black"&gt;; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;private&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;ITemplate&lt;/font&gt;&lt;font color="black"&gt; _postTextTemplate;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[&lt;/font&gt;&lt;font color="teal"&gt;PersistenceMode&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="teal"&gt;PersistenceMode&lt;/font&gt;&lt;font color="black"&gt;.InnerProperty),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font color="teal"&gt;TemplateContainer&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;typeof&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="teal"&gt;TreeNodeTemplateContainer&lt;/font&gt;&lt;font color="black"&gt;))]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;ITemplate&lt;/font&gt;&lt;font color="black"&gt; PostTextTemplate&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;get&lt;/font&gt;&lt;font color="black"&gt; { &lt;/font&gt;&lt;font color="blue"&gt;return&lt;/font&gt;&lt;font color="black"&gt; _postTextTemplate; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;set&lt;/font&gt;&lt;font color="black"&gt; { _postTextTemplate = &lt;/font&gt;&lt;font color="blue"&gt;value&lt;/font&gt;&lt;font color="black"&gt;; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;override&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; RenderPreText(&lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriter&lt;/font&gt;&lt;font color="black"&gt; writer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt; (PreTextTemplate != &lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;TreeNodeTemplateContainer&lt;/font&gt;&lt;font color="black"&gt; container = &lt;/font&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TreeNodeTemplateContainer&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PreTextTemplate.InstantiateIn(container);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container.DataBind();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container.RenderControl(writer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;.RenderPreText(writer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;protected&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;override&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;void&lt;/font&gt;&lt;font color="black"&gt; RenderPostText(&lt;/font&gt;&lt;font color="teal"&gt;HtmlTextWriter&lt;/font&gt;&lt;font color="black"&gt; writer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;if&lt;/font&gt;&lt;font color="black"&gt; (PostTextTemplate != &lt;/font&gt;&lt;font color="blue"&gt;null&lt;/font&gt;&lt;font color="black"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="teal"&gt;TreeNodeTemplateContainer&lt;/font&gt;&lt;font color="black"&gt; container = &lt;/font&gt;&lt;/div&gt; &lt;div style="FONT-SIZE: 9pt; FONT-FAMILY: monospace; BACKGROUND-COLOR: white"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="blue"&gt;new&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TreeNodeTemplateContainer&lt;/font&gt;&lt;font color="black"&gt;(&lt;/font&gt;&lt;font color="blue"&gt;this&lt;/font&gt;&lt;font color="black"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PostTextTemplate.InstantiateIn(container);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container.DataBind();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container.RenderControl(writer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;base&lt;/font&gt;&lt;font color="black"&gt;.RenderPostText(writer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="green"&gt;// Template container for the TemplatedTreeNode class&lt;br /&gt;&lt;/font&gt;&lt;font color="black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="blue"&gt;public&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="blue"&gt;class&lt;/font&gt;&lt;font color="black"&gt; &lt;/font&gt;&lt;font color="teal"&gt;TreeNodeTemplateContainer&lt;/font&gt;&lt;font color="black"&gt; : &lt;/font&gt;&lt;font color="teal"&gt;WebControl&lt;/font&gt;&lt;font color="black"&