<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PeterKellner.net &#187; Uncategorized</title>
	<atom:link href="http://peterkellner.net/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://peterkellner.net</link>
	<description>Microsoft Focussed, JavaScript (ExtJS, SenchaTouch &#38; Windows 8 Metro)</description>
	<lastBuildDate>Tue, 07 Feb 2012 21:14:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MVP Award From Microsoft for ASP.NET 2.0</title>
		<link>http://peterkellner.net/2007/02/01/mvp2007award/</link>
		<comments>http://peterkellner.net/2007/02/01/mvp2007award/#comments</comments>
		<pubDate>Fri, 02 Feb 2007 01:33:58 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.NET 2.0]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2007/02/01/mvp2007award/</guid>
		<description><![CDATA[I was surprised and happy to receive notification of being awarded the MVP for ASP.NET 2.0.  During the past 18 months,
I've spent a lot of time both learning the technology as well as being involved in the community that it supports.]]></description>
			<content:encoded><![CDATA[<p><img alt="MVP Award Logo" src="http://peterkellner.net/wp/Images/MVP.jpg" /></p>  <p>I was surprised and happy to receive notification of being awarded the MVP for ASP.NET 2.0. During the past 18 months, I&#8217;ve spent a lot of time both learning the technology as well as being involved in the community that it supports. During that time, I&#8217;ve done lots of posting (both questions and answers) on the   <br /><a href="http://forums.asp.net/">asp.net </a>forums.&#160; In addition, I&#8217;d spoken at 4 code camps including the one I organized in Northern California ( <a href="http://www.siliconvalley-codecamp.com">     <br />http://www.siliconvalley-codecamp.com</a> ).&#160; I&#8217;m sure it didn&#8217;t hurt that during this period I authored four MSDN articles.</p>  <p>At any rate, I&#8217;m very happy and fortunate to receive this award and look forward to future opportunities to be even more involved in the exciting community around asp.net.</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2007/02/01/mvp2007award/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Have GridView Highlight Last Inserted Record in ASP.NET 2.0</title>
		<link>http://peterkellner.net/2006/12/07/gridviewhighlightlastinsertedrow/</link>
		<comments>http://peterkellner.net/2006/12/07/gridviewhighlightlastinsertedrow/#comments</comments>
		<pubDate>Thu, 07 Dec 2006 23:41:04 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.Net 2.0]]></category>
		<category><![CDATA[ASP.NET 2.0]]></category>
		<category><![CDATA[Membership]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2006/12/07/gridviewhighlightlastinsertedrow/</guid>
		<description><![CDATA[A question that frequently comes up in the asp.net forums is how to have a gridview show the the last record added highlighted. This articles gives a technique for doing this. It only works with SqlServer but could could be modified for other databases.]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>  <p>A question that frequently comes up in the asp.net forums is how to have a gridview show the the last record added highlighted. This articles gives a technique for doing this. It only works with SqlServer but could could be modified for other databases. </p>  <h2>What It Looks Like Running</h2>  <p>After pressing the insert button on the screen shot below, the bottom line was actually added and it is automatically highlighted. This is in a nutshell, what the code listed below and this article discusses.</p> <span id="more-43"></span>  <p><img src="http://peterkellner.net/wp/Images/misc/GridViewInsertHighlight.jpg" width="409" height="625" /></p>  <h2>The Code</h2>  <p>In order to run the code below, you must first set up Membership. The simplest way to do this is to simply add to your web.config a very small section enabling RoleManager. This will automatically create the membership database in sqlexpress. You should probably add a couple users just so your gridview is not empty from the start. The code you need to add to an empty asp.net 2.0 web site project is as follows (put it in the &lt;System.Web&gt; section).</p>  <div style="font-family: courier new; background: white; color: black; font-size: 10pt">   <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: #a31515">roleManager</span><span style="color: blue"> </span><span style="color: red">enabled</span><span style="color: blue">=</span>&quot;<span style="color: blue">true</span>&quot;<span style="color: blue">&gt;&lt;/</span><span style="color: #a31515">roleManager</span><span style="color: blue">&gt;</span> </p> </div>  <p>Once you have done that, you can copy the code below to a new web page and simply run it.</p>  <p>Briefly, the way the code works is that when a row is inserted into the database the sqldatasource&#8217;s Inserted event is called. In this event, we take a look at the return parameter which comes from the sql:</p>  <div style="font-family: courier new; background: white; color: black; font-size: 10pt">   <p style="margin: 0px"><span style="color: red">InsertCommand</span><span style="color: blue">=&quot;INSERT INTO [Names] ([name]) VALUES (@name);SELECT @NewID = Scope_Identity()&quot;</span></p> </div>  <p>NewId is actually a return parameter, so we can get that back in the inserted event. Once we get the value back, we store it in viewstate so that on the upcoming page_prerender, we can check and see which row has that id in it, and then highlight that row. The reason we do it in prerender and not load is because the inserted event is processed after load and it would not work if we put it there.</p>  <p>So, here is the code! Good luck.</p> <style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }</style>  <pre class="csharpcode"><span class="asp">&lt;%@ Page Language=”C#” %&gt;</span>

<span class="kwrd">&lt;!</span><span class="html">DOCTYPE</span> <span class="attr">html</span> <span class="attr">PUBLIC</span> “<span class="attr">-</span>//<span class="attr">W3C</span>//<span class="attr">DTD</span> <span class="attr">XHTML</span> <span class="attr">1</span>.<span class="attr">0</span> <span class="attr">Transitional</span>//<span class="attr">EN</span>” “<span class="attr">http:</span>//<span class="attr">www</span>.<span class="attr">w3</span>.<span class="attr">org</span>/<span class="attr">TR</span>/<span class="attr">xhtml1</span>/<span class="attr">DTD</span>/<span class="attr">xhtml1-transitional</span>.<span class="attr">dtd</span>”<span class="kwrd">&gt;</span>

<span class="kwrd">&lt;</span><span class="html">script</span> <span class="attr">runat</span>=”<span class="attr">server</span>”<span class="kwrd">&gt;</span>

    <span class="rem">// simple table named: Names. Two columns:  id int, name varchar(64)</span>

    <span class="kwrd">protected</span> <span class="kwrd">void</span> ButtonInsert_Click(<span class="kwrd">object</span> sender, EventArgs e)
    {      
        SqlDataSource1.InsertParameters[<span class="str">&quot;name&quot;</span>].DefaultValue = DateTime.Now.ToString();
        <span class="kwrd">int</span> numInserted = SqlDataSource1.Insert();
        GridView1.DataBind();
    }

    <span class="kwrd">protected</span> <span class="kwrd">void</span> SqlDataSource1_Inserted(<span class="kwrd">object</span> sender, SqlDataSourceStatusEventArgs e)
    {
        <span class="kwrd">object</span> newId = e.Command.Parameters[<span class="str">&quot;@NewId&quot;</span>].Value;
        ViewState[<span class="str">&quot;NewId&quot;</span>] = Convert.ToInt32(newId);
    }

    <span class="kwrd">protected</span> <span class="kwrd">void</span> Page_PreRender(<span class="kwrd">object</span> sender, EventArgs e)
    {
        <span class="kwrd">string</span> newIdLast = <span class="kwrd">string</span>.Empty;
        <span class="kwrd">if</span> (ViewState[<span class="str">&quot;NewId&quot;</span>] != <span class="kwrd">null</span>)
        {
            <span class="kwrd">int</span> newId = (<span class="kwrd">int</span>)ViewState[<span class="str">&quot;NewId&quot;</span>];
            newIdLast = newId.ToString();
            <span class="kwrd">int</span> rowCnt = 0;
            <span class="kwrd">foreach</span> (GridViewRow row <span class="kwrd">in</span> GridView1.Rows)
            {
               <span class="kwrd">string</span> newIdText = row.Cells[1].Text;
                <span class="kwrd">if</span> (newIdText.Equals(newIdLast))
                {
                    <span class="rem">//GridView1.EditIndex = rowCnt;</span>
                    <span class="rem">//GridView1.SelectedIndex = rowCnt;</span>
                    row.Attributes.Add(“bgcolor”, “Gray”);
                    <span class="kwrd">break</span>;
                }
                rowCnt++;
            }
        }
    }
<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span>

<span class="kwrd">&lt;</span><span class="html">html</span> <span class="attr">xmlns</span>=”<span class="attr">http:</span>//<span class="attr">www</span>.<span class="attr">w3</span>.<span class="attr">org</span>/<span class="attr">1999</span>/<span class="attr">xhtml</span>” <span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">head</span> <span class="attr">id</span>=”<span class="attr">Head1</span>? <span class="attr">runat</span>=”<span class="attr">server</span>”<span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">title</span><span class="kwrd">&gt;</span>Untitled Page<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">head</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">body</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">form</span> <span class="attr">id</span>=”<span class="attr">form1</span>? <span class="attr">runat</span>=”<span class="attr">server</span>”<span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">div</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">h2</span><span class="kwrd">&gt;</span>Example of GridView that shows highlighted last inserted row<span class="kwrd">&lt;/</span><span class="html">h2</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">br</span> <span class="kwrd">/&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">asp:GridView</span> <span class="attr">ID</span>=”<span class="attr">GridView1</span>? <span class="attr">runat</span>=”<span class="attr">server</span>” <span class="attr">AutoGenerateColumns</span>=”<span class="attr">False</span>” <span class="attr">DataKeyNames</span>=”<span class="attr">id</span>” <span class="attr">DataSourceID</span>=”<span class="attr">SqlDataSource1</span>? <span class="kwrd">&gt;</span>
            <span class="kwrd">&lt;</span><span class="html">Columns</span><span class="kwrd">&gt;</span>
                <span class="kwrd">&lt;</span><span class="html">asp:CommandField</span> <span class="attr">ShowEditButton</span>=”<span class="attr">True</span>” <span class="attr">ShowDeleteButton</span>=”<span class="attr">True</span>” <span class="kwrd">/&gt;</span>
                <span class="kwrd">&lt;</span><span class="html">asp:BoundField</span> <span class="attr">DataField</span>=”<span class="attr">id</span>” <span class="attr">HeaderText</span>=”<span class="attr">id</span>” <span class="attr">InsertVisible</span>=”<span class="attr">False</span>” <span class="attr">ReadOnly</span>=”<span class="attr">True</span>”
                    <span class="attr">SortExpression</span>=”<span class="attr">id</span>” <span class="kwrd">/&gt;</span>
                <span class="kwrd">&lt;</span><span class="html">asp:BoundField</span> <span class="attr">DataField</span>=”<span class="attr">name</span>” <span class="attr">HeaderText</span>=”<span class="attr">name</span>” <span class="attr">SortExpression</span>=”<span class="attr">name</span>” <span class="kwrd">/&gt;</span>
            <span class="kwrd">&lt;/</span><span class="html">Columns</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;/</span><span class="html">asp:GridView</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">asp:SqlDataSource</span> <span class="attr">ID</span>=”<span class="attr">SqlDataSource1</span>? <span class="attr">runat</span>=”<span class="attr">server</span>” <span class="attr">ConnectionString</span>=”&amp;<span class="attr">lt</span>;%$ <span class="attr">ConnectionStrings:ConnectionString</span> %&amp;<span class="attr">gt</span>;“
          <span class="attr">DeleteCommand</span>=”<span class="attr">DELETE</span> <span class="attr">FROM</span> [<span class="attr">Names</span>] <span class="attr">WHERE</span> [<span class="attr">id</span>] = @<span class="attr">id</span>”
          <span class="attr">InsertCommand</span>=”<span class="attr">INSERT</span> <span class="attr">INTO</span> [<span class="attr">Names</span>] ([<span class="attr">name</span>]) <span class="attr">VALUES</span> (@<span class="attr">name</span>);<span class="attr">SELECT</span> @<span class="attr">NewID</span> = <span class="attr">Scope_Identity</span>()”

          <span class="attr">SelectCommand</span>=”<span class="attr">SELECT</span> [<span class="attr">id</span>], [<span class="attr">name</span>] <span class="attr">FROM</span> [<span class="attr">Names</span>]“ <span class="attr">UpdateCommand</span>=”<span class="attr">UPDATE</span> [<span class="attr">Names</span>] <span class="attr">SET</span> [<span class="attr">name</span>] = @<span class="attr">name</span> <span class="attr">WHERE</span> [<span class="attr">id</span>] = @<span class="attr">id</span>” <span class="attr">OnInserted</span>=”<span class="attr">SqlDataSource1_Inserted</span>”<span class="kwrd">&gt;</span>
            <span class="kwrd">&lt;</span><span class="html">DeleteParameters</span><span class="kwrd">&gt;</span>
                <span class="kwrd">&lt;</span><span class="html">asp:Parameter</span> <span class="attr">Name</span>=”<span class="attr">id</span>” <span class="attr">Type</span>=”<span class="attr">Int32</span>? <span class="kwrd">/&gt;</span>
            <span class="kwrd">&lt;/</span><span class="html">DeleteParameters</span><span class="kwrd">&gt;</span>
            <span class="kwrd">&lt;</span><span class="html">UpdateParameters</span><span class="kwrd">&gt;</span>
                <span class="kwrd">&lt;</span><span class="html">asp:Parameter</span> <span class="attr">Name</span>=”<span class="attr">name</span>” <span class="attr">Type</span>=”<span class="attr">String</span>” <span class="kwrd">/&gt;</span>
                <span class="kwrd">&lt;</span><span class="html">asp:Parameter</span> <span class="attr">Name</span>=”<span class="attr">id</span>” <span class="attr">Type</span>=”<span class="attr">Int32</span>? <span class="kwrd">/&gt;</span>
            <span class="kwrd">&lt;/</span><span class="html">UpdateParameters</span><span class="kwrd">&gt;</span>
            <span class="kwrd">&lt;</span><span class="html">InsertParameters</span><span class="kwrd">&gt;</span>
                <span class="kwrd">&lt;</span><span class="html">asp:Parameter</span> <span class="attr">Name</span>=”<span class="attr">name</span>” <span class="attr">Type</span>=”<span class="attr">String</span>” <span class="kwrd">/&gt;</span>
               <span class="kwrd">&lt;</span><span class="html">asp:Parameter</span> <span class="attr">Direction</span>=<span class="attr">Output</span> <span class="attr">Name</span>=”<span class="attr">NewId</span>” <span class="attr">Size</span>=<span class="attr">4</span> <span class="attr">Type</span>=<span class="attr">Int16</span> <span class="kwrd">/&gt;</span>
            <span class="kwrd">&lt;/</span><span class="html">InsertParameters</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;/</span><span class="html">asp:SqlDataSource</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">br</span> <span class="kwrd">/&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">br</span> <span class="kwrd">/&gt;</span>
        <span class="attr">&amp;nbsp;</span><span class="kwrd">&lt;</span><span class="html">asp:Button</span> <span class="attr">ID</span>=”<span class="attr">ButtonInsert</span>” <span class="attr">runat</span>=”<span class="attr">server</span>” <span class="attr">OnClick</span>=”<span class="attr">ButtonInsert_Click</span>” <span class="attr">Text</span>=”<span class="attr">Insert</span> <span class="attr">Record</span>” <span class="kwrd">/&gt;&lt;/</span><span class="html">div</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">form</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">body</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">html</span><span class="kwrd">&gt;</span></pre>

<h2>About the Author </h2>

<p>Peter Kellner currently works as an asp.net enterprise consultant at <a href="http://www.73rdstreet.com">http://www.73rdstreet.com</a>. During the past year, Peter Kellner has authored four MSDN articles dealing with Membership and Profiles. He maintains a blog with more articles at <a href="http://peterkellner.net">http://peterkellner.net</a>. </p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2006/12/07/gridviewhighlightlastinsertedrow/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Integrating PBWiki with .Net Using the New PBWiki API, The Start of a .Net API</title>
		<link>http://peterkellner.net/2006/09/18/pbwikiapi/</link>
		<comments>http://peterkellner.net/2006/09/18/pbwikiapi/#comments</comments>
		<pubDate>Mon, 18 Sep 2006 19:04:10 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.Net 2.0]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Wiki]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2006/09/18/pbwikiapi/</guid>
		<description><![CDATA[In this article we will demonstrate a technique used to automatically add Wiki Pages to PBWiki using the not quite released API provided by the peanut butter guys. The demonstration will involve integrating scheduled presentations at our Silicon Valley Code Camp on October 7th and 8th each with its own Wiki Page. Without the API, creating and linking the presentation to a Wiki page would have to be an ugly manual process involving the dreaded cut and pasting of URL's.]]></description>
			<content:encoded><![CDATA[<h2>Abstract</h2>  <p>In this article we will demonstrate a technique used to automatically add Wiki Pages to <a href="http://pbwiki.com/">PBWiki</a> using    <br />the not quite released API provided by the peanut butter guys. The demonstration will involve integrating scheduled presentations at our <a href="http://www.siliconvalley-codecamp.com/">Silicon Valley Code Camp on October 7th and 8th</a> each with its own Wiki Page. Without the API, creating and linking the presentation to a Wiki page would have to be an ugly manual process involving the dreaded cut and pasting of URL&#8217;s.</p>  <h2>Background</h2>  <p>So, to begin with, I&#8217;m an enterprise database kind of guy and to be frank, Wiki&#8217;s scare me a little. The   <br />idea of adhoc data being deposited by anyone onto a page with no real structures just makes me nervous. My    <br />smart friends tell me I should embrace the chaos so I&#8217;m trusting them and going for it.</p> <span id="more-34"></span>  <p>That being said, the specific problem we want to address with the Wiki is to allow presenters and presentees at   <br />our codecamp to be able to interact with each other before and after their presentations. My experience is that    <br />discussion groups don&#8217;t work that well for this and though lotus notes may have, that doesn&#8217;t seem to be much of an    <br />option these days (Where is Ray?). The now obvious solution is to attach a Wiki Page to each presentation on our web    <br />site and let users and presenters have at it. The problem is that this event is free and we don&#8217;t have an army    <br />of staffers ready to add Wiki Pages each time someone submits a new presentation.</p>  <h2>PBWiki To The Rescue</h2>  <p>Turns out the guys at PBWiki are just about to release an API for their software. One of the functions of this API allows us   <br />to create a new Wiki Page simply by building a request with post data as our page. Just what we need. So, lets just go through the steps with some fancy pictures and arrows of how we built this integration. (OK, no arrows, just pictures).</p>  <p>First, lets take a look at how we&#8217;ve enhanced our web site. (OK, this is in beta so depending on how fast you are at reading this article, the web site might not be quite to production yet. You will need to use your imagination.)</p>  <p><img src="http://peterkellner.net/wp/Images/PBAPI/ccwebsite.jpg" /></p>  <p>Notice the <u>Wiki</u> hyperlink next to the Session Titles. When this hyperlink is pressed, an API call is generated to the PBWiki API calling the AddPage function. If the Wiki Page exists, it simply quietly fails. Then after that, a redirect is processed that takes the user directly to the new Wiki Page. First time, the Wiki page is created with all kinds of information about the session as well as any other information we might want to transfer over. Below is what the Wiki Page looks like on our CodeCamp Wiki.</p>  <p><img src="http://peterkellner.net/wp/Images/PBAPI/ccwiki.jpg" /></p>  <h2>The Plumbing</h2>  <p>So, how did we do this? First, we got an <a href="http://api.pbwiki.com/">API key from PBWiki</a>. this is a huge 15 character or so alpha string that identifies your wiki so that when you use it, pages and such will be created on your wiki. Then, we had to write some code. Basically, the way the API works is that you build a request that looks something like this to add a page.</p>  <p><u>http://YOURWIKI.pbwiki.com/api/AddPage?apikey_v1=12345&amp;page=SomeNewPage&amp;name=Some%20Guy&amp;email=someone@example.org</u></p>  <p>Then, you add some post data to the request (or for small pages you can use the data parameter). Execute the request and your response is that status of the request. It&#8217;s returned in JSON format. Hopefully, you have your page now.</p>  <p>After that, you simply issue a redirect to the newly create page.</p>  <p><u>http://YOURWIKI.pbwiki.com/SomeNewPage</u></p>  <p>Now, you are probably wondering, where is the .Net API for doing this? OK, I&#8217;ll put some code below to satisfy that   <br />wonderment. Basically, I created a very small API (1 call, AddPage), and a simple aspx page to run it. Here it is, and good    <br />luck. Overtime, I&#8217;m sure I&#8217;ll fill out the API and add real error checking and better return type stuff. But, for now, here it is.</p>  <br />    <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">   <pre style="margin: 0px"><span style="color: blue">using</span> System;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Data;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Configuration;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.Security;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.UI;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.UI.WebControls;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.UI.WebControls.WebParts;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.UI.HtmlControls;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Text;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Net;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Text.RegularExpressions;</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;</span></pre>

  <pre style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> An API for calling the PBWiki's API.&#160; This is all C# and .NET 2.0</span></pre>

  <pre style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;</span></pre>

  <pre style="margin: 0px"><span style="color: blue">public</span>&#160; <span style="color: blue">class</span> <span style="color: teal">PBWikiAPI</span></pre>

  <pre style="margin: 0px">{</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">public</span> <span style="color: blue">static</span> <span style="color: blue">string</span> AddPage(<span style="color: blue">string</span> wikiURL,<span style="color: blue">string</span> apiKey,<span style="color: blue">string</span> page, <span style="color: blue">string</span> email, </pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">string</span> name, <span style="color: blue">string</span> postData)</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; {</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">string</span> responseReturn = <span style="color: blue">string</span>.Empty;</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">try</span></pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">string</span> wikiPageName = <span style="color: teal">Regex</span>.Replace(page, <span style="color: maroon">@&quot;[^\w@-]&quot;</span>, <span style="color: maroon">&quot;&quot;</span>);</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">if</span> (!<span style="color: teal">String</span>.IsNullOrEmpty(wikiPageName))</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">string</span> url = wikiURL + <span style="color: maroon">&quot;/api/AddPage?apikey_v1=&quot;</span> + apiKey</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + <span style="color: maroon">&quot;&amp;page=&quot;</span> + wikiPageName</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + <span style="color: maroon">&quot;&amp;name=&quot;</span> + <span style="color: maroon">&quot;AutoGenerator&quot;</span></pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; + <span style="color: maroon">&quot;&amp;email=&quot;</span> + email;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">Uri</span> ourUri = <span style="color: blue">new</span> <span style="color: teal">Uri</span>(url);</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// Create a 'WebRequest' object with the specified url. </span></pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">WebRequest</span> myWebRequest = <span style="color: teal">WebRequest</span>.Create(url);</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; myWebRequest.Method = <span style="color: maroon">&quot;POST&quot;</span>;</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">byte</span>[] bytes = System.Text.<span style="color: teal">Encoding</span>.ASCII.GetBytes(page);</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; myWebRequest.ContentLength = bytes.Length;</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.IO.<span style="color: teal">Stream</span> os = myWebRequest.GetRequestStream();</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; os.Write(bytes, 0, bytes.Length);</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; os.Close();</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// Send the 'WebRequest' and wait for response.</span></pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">WebResponse</span> myWebResponse = myWebRequest.GetResponse();</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">if</span> (myWebResponse != <span style="color: blue">null</span>)</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.IO.<span style="color: teal">StreamReader</span> sr1 = <span style="color: blue">new</span> System.IO.<span style="color: teal">StreamReader</span>(myWebResponse.GetResponseStream());</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; responseReturn = sr1.ReadToEnd().Trim();</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// Rel
ease resources of response object.</span></pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; myWebResponse.Close();</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">else</span></pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">throw</span> <span style="color: blue">new</span> <span style="color: teal">ApplicationException</span>(<span style="color: maroon">&quot;PBWikiAPI: no Page Name Specified&quot;</span>);</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">catch</span> (<span style="color: teal">Exception</span> ex)</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">throw</span> <span style="color: blue">new</span> <span style="color: teal">ApplicationException</span>(<span style="color: maroon">&quot;PBWikiAPI: &quot;</span> + ex.ToString());</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">return</span> responseReturn;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; }</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">}</pre>
</div>

<br />

<p>The Sample ASP.NET aspx Page that calls this</p>

<br />

<div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">
  <pre style="margin: 0px"><span style="color: blue">using</span> System;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Data;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Configuration;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Collections;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.Security;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.UI;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.UI.WebControls;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.UI.WebControls.WebParts;</pre>

  <pre style="margin: 0px"><span style="color: blue">using</span> System.Web.UI.HtmlControls;</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px"><span style="color: blue">public</span> <span style="color: blue">partial</span> <span style="color: blue">class</span> <span style="color: teal">Default12</span> : System.Web.UI.<span style="color: teal">Page</span></pre>

  <pre style="margin: 0px">{</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">protected</span> <span style="color: blue">void</span> Page_Load(<span style="color: blue">object</span> sender, <span style="color: teal">EventArgs</span> e)</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; {</pre>

  <pre style="margin: 0px">&#160;</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; }</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">protected</span> <span style="color: blue">void</span> Button1_Click(<span style="color: blue">object</span> sender, <span style="color: teal">EventArgs</span> e)</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; {</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">string</span> str = <span style="color: teal">PBWikiAPI</span>.AddPage(<span style="color: maroon">&quot;http://codecamp.pbwiki.com&quot;</span>,</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: maroon">&quot;cd884b9f9d3034598340958435093405834&quot;</span>,</pre>

  <pre style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: maroon">&quot;TestPageFromAPI&quot;</span>, <span style="color: maroon">&quot;email&quot;</span>, <span style="color: maroon">&quot;name&quot;</span>, <span style="color: maroon">&quot;PostDataHere&quot;</span>);</pre>

  <pre style="margin: 0px">&#160;&#160;&#160; }</pre>

  <pre style="margin: 0px">}</pre>
</div>
<br />
<h2>Conclusions</h2>

<p>This is very cool stuff. It opens up a huge area of how to synchronize (or somewhat synchronize) blog data and more structured
  <br />data from things like databases (what a concept!). I&#8217;m sure as time goes on, I&#8217;ll do much more sophisticated integration with

  <br />Wiki data then is shown here. I&#8217;m totally jazzed by this.</p>

<p>&#160;</p>

<h2>References</h2>

<p><a href="http://api.pbwiki.com/">http://api.pbwiki.com/</a></p>

<p><a href="http://pbwiki.com/">http://pbwiki.com/</a></p>

<p><a href="http://www.siliconvalley-codecamp.com/">http://www.siliconvalley-codecamp.com/</a></p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2006/09/18/pbwikiapi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rendering Images With IIS Verses an ASP.NET 2.0 Handler</title>
		<link>http://peterkellner.net/2006/09/04/iisaspnetperf/</link>
		<comments>http://peterkellner.net/2006/09/04/iisaspnetperf/#comments</comments>
		<pubDate>Tue, 05 Sep 2006 05:38:24 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.Net 2.0]]></category>
		<category><![CDATA[ASP.NET 2.0]]></category>
		<category><![CDATA[ObjectDataSource]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2006/09/04/iisaspnetperf/</guid>
		<description><![CDATA[This article will compare the difference between rendering images using an HttpHandler and IIS.  It will show the different request processing times for a small, medium and large bmp file.  It also discusses using the DefaultHttpHandler.]]></description>
			<content:encoded><![CDATA[<h2>Performance Comparison</h2>  <p>Recently, I&#8217;ve been wondering what the difference is between rendering an image using IIS&#8217;s built in file handling capabilities, or using the asp.net with a custom handler. I decided to do a little test program to simply see the difference in clock time for processing such requests. The results of this test clearly show that IIS is faster. Sometimes a little, and sometimes a lot. I decided to test three size images, and run them each 10 times. Often, there is a start up lag time so the iterations should wash that out.</p>  <p>The table below basically sums up the results pretty well. The resolution of my timer is not great so for small images (35KB), both IIS and the handler processed the image in under 15 milliseconds. There may be a difference but in   <br />my case, it was probably not measurable because of all the other time involved in the request. For Medium size images (550KB), difference is more consistent. Again, it&#8217;s a timer resolution problem that makes 15 milliseconds probably something related to a CPU click of sorts. For large images (5.6MB) you can clearly see a difference. The time it takes for the handler to process the image is almost double that of IIS.</p> <span id="more-32"></span>  <p><img src="http://peterkellner.net/images/IISASPNETPERF.jpg" width="609" height="497" /></p>  <p>Just for the fun of it, if you want to run a URL that has the program that generated these numbers, you can by going to the URL: <a href="http://livedemos.peterkellner.net/ASPNETIISTiming.aspx">http://livedemos.peterkellner.net/ASPNETIISTiming.aspx</a> and the numbers will recalculate live. A couple things to keep in mind here. First, the above URL is running on a hosted site with lots of other customers (specifically, it&#8217;s hosted at <a href="http://ultimahosts.net/">http://ultimahosts.net/</a> whom I recommend highly and it&#8217;s running with IIS 6.0.</p>  <p>If you want to experiment yourself with this, I&#8217;ve listed at the bottom of this article the class I associate with an ObjectDataSource to generate these numbers (as well as the HttpHandler and the aspx page). The tables are each GridView&#8217;s with incoming parameters to the ODS class of number of iterations and the image name in the /Images directory to process. It&#8217;s really very straight forward.</p>  <h2>Conclusions</h2>  <p>The conclusion is pretty obvious for large images. That is, IIS is better. There are times when you must use   <br />a handler such as when you want to watermark your images or do other custom rendering. If, however that is not    <br />necessary, better to rely on IIS to process the images. Something also to keep in mind is that if you use the    <br />Wild Card Forwarding Option in IIS (only available in IIS6, not IIS5.1), the DefaultHttpHandler will automatically    <br />get invoked for you on file types you do not specifically handle and those images will bounce back and get processed by    <br />IIS 6.0. Here is a good reference from <a href="http://www.leastprivilege.com/CommentView.aspx?guid=e37d2789-fb3f-4d05-ad25-496b88a2e3cb">Dominick Baier describing how that works</a>.</p>  <p>(GetWebData.cs) This is the class the ObjectDataSource References.</p>  <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">   <p style="margin: 0px">&#160;</p>    <p style="margin: 0px"><span style="color: blue">using</span> System;</p>    <p style="margin: 0px"><span style="color: blue">using</span> System.Collections.Generic;</p>    <p style="margin: 0px"><span style="color: blue">using</span> System.ComponentModel;</p>    <p style="margin: 0px"><span style="color: blue">using</span> System.IO;</p>    <p style="margin: 0px"><span style="color: blue">using</span> System.Net;</p>    <p style="margin: 0px"><span style="color: blue">using</span> System.Web;</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;</span></p>    <p style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> Summary description for GetWebData</span></p>    <p style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;</span></p>    <p style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> </span></p>    <p style="margin: 0px">[<span style="color: teal">DataObject</span>(<span style="color: blue">true</span>)] <span style="color: green">// This attribute allows the ObjectDataSource wizard to see this class</span></p>    <p style="margin: 0px"><span style="color: blue">public</span> <span style="color: blue">class</span> <span style="color: teal">GetWebData</span></p>    <p style="margin: 0px">{</p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> This is the Select Method used with the class.</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> filename should be the name of the file that is in the images directory</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;param name=&quot;iterations&quot;&gt;&lt;/param&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;param name=&quot;fileName&quot;&gt;&lt;/param&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;returns&gt;&lt;/returns&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; [<span style="color: teal">DataObjectMethod</span>(<span style="color: teal">DataObjectMethodType</span>.Select, <span style="color: blue">true</span>)]</p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">public</span> <span style="color: teal">List</span>&lt;<span style="color: teal">ResultData</span>&gt; GetWebResults(<span style="color: blue">int</span> iterations, <span style="color: blue">string</span> fileName)</p>    <p style="margin: 0px">&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">string</span> absUri = <span style="color: teal">HttpContext</span>.Current.Request.Url.AbsoluteUri;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">string</span> absoluteUri = absUri.Substring(0, absUri.LastIndexOf(<span style="color: maroon">&quot;/&quot;</span>));</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">List</span>&lt;<span style="color: teal">ResultData</span>&gt; list = <span style="color: blue">new</span> <span style="color: teal">List</span>&lt;<span style="color: teal">ResultData</span>&gt;(iterations);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">for</span> (<span style="color: blue">int</span> i = 0; i &lt; iterations; i++)</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">ResultData</span> rd = <span style="color: blue">new</span> <span style="color: teal">ResultData</span>();</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rd.FromASPNET1 = ProcessWebRequest(absoluteUri + <span style="color: maroon">&quot;/DisplayBMP.ashx?filename=&quot;</span> + fileName);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rd.FromIIS = ProcessWebRequest(absoluteUri + <span style="color: maroon">&quot;/Images/&quot;</span> + fileName);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; list.Add(rd);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">return</span> list;</p>    <p style="margin: 0px">&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> This process the requestString passed in and returns</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> the number of ms it took to do that.&#160; It does nothing</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> with the results</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;param name=&quot;requestString&quot;&gt;</span><span style="color: green">complete URL</span><span style="color: gray">&lt;/param&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;returns&gt;</span><span style="color: green">milliseconds in process</span><span style="color: gray">&lt;/returns&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">private</span> <span style="color: blue">double</span> ProcessWebRequest(<span style="color: blue">string</span> requestString)</p>    <p style="margin: 0px">&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// used on each read operation (big, 1.5MB)</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// normally, one read is enough, but if it is</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// bigger than 1.5 MB, then it will simply to</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// multiple reads which should not affect timing</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// very much is my guess.</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">byte</span>[] buf = <span style="color: blue">new</span> <span style="color: blue">byte</span>[1500000];</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// prepare the web page we will be asking for</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">HttpWebRequest</span> request = (<span style="color: teal">HttpWebRequest</span>)</p>    <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">WebRequest</span>.Create(requestString);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">DateTime</span> startTime = <span style="color: teal">DateTime</span>.Now;</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// execute the request</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">HttpWebResponse</span> response = (<span style="color: teal">HttpWebResponse</span>)</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; request.GetResponse();</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// we will read data via the response stream</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">Stream</span> resStream = response.GetResponseStream();</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">int</span> count;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">int</span> bytesRead = 0;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">do</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// fill the buffer with data</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; count = resStream.Read(buf, 0, buf.Length);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">// make sure we read some data</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">if</span> (count != 0)</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; bytesRead += count;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; } <span style="color: blue">while</span> (count &gt; 0); <span style="color: green">// any more data to read?</span></p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">DateTime</span> stopTime = <span style="color: teal">DateTime</span>.Now;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: teal">TimeSpan</span> elapsedTime = stopTime &#8211; startTime;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">return</span> elapsedTime.TotalMilliseconds;</p>    <p style="margin: 0px">&#160;&#160;&#160; }</p>    <p style="margin: 0px">}</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;summary&gt;</span></p>    <p style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> A simple class to be used with Generic List</span></p>    <p style="margin: 0px"><span style="color: gray">///</span><span style="color: green"> </span><span style="color: gray">&lt;/summary&gt;</span></p>    <p style="margin: 0px"><span style="color: blue">public</span> <span style="color: blue">class</span> <span style="color: teal">ResultData</span></p>    <p style="margin: 0px">{</p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">private</span> <span style="color: blue">double</span> FromASPNET;</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">public</span> <span style="color: blue">double</span> FromASPNET1</p>    <p style="margin: 0px">&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">get</span> { <span style="color: blue">return</span> <span style="color: teal">Math</span>.Floor(FromASPNET); }</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">set</span> { FromASPNET = <span style="color: blue">value</span>; }</p>    <p style="margin: 0px">&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">private</span> <span style="color: blue">double</span> fromIIS;</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">public</span> <span style="color: blue">double</span> FromIIS</p>    <p style="margin: 0px">&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">get</span> { <span style="color: blue">return</span> <span style="color: teal">Math</span>.Floor(fromIIS); }</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">set</span> { fromIIS = <span style="color: blue">value</span>; }</p>    <p style="margin: 0px">&#160;&#160;&#160; }</p>    <p style="margin: 0px">}</p> </div>  <p>&#160;</p>  <p>(DisplayBMP.ashx) The Handler I&#8217;m using for the comparison.</p>  <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">   <p style="margin: 0px"><span style="background: yellow">&lt;%</span><span style="color: blue">@</span> <span style="color: maroon">WebHandler</span> <span style="color: red">Language</span><span style="color: blue">=&quot;C#&quot;</span> <span style="color: red">Class</span><span style="color: blue">=&quot;DisplayBMP&quot;</span>&#160; <span style="background: yellow">%&gt;</span></p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px"><span style="color: blue">using</span> System;</p>    <p style="margin: 0px"><span style="color: blue">using</span> System.Web;</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px"><span style="color: blue">public</span> <span style="color: blue">class</span> <span style="color: teal">DisplayBMP</span> : <span style="color: teal">IHttpHandler</span> {</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160; <span style="color: blue">public</span> <span style="color: blue">void</span> ProcessRequest (<span style="color: teal">HttpContext</span> context) {</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">try</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">string</span> fileName = context.Server.MapPath(<span style="color: maroon">&quot;Images/medium.bmp&quot;</span>);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">if</span> (<span style="color: teal">HttpContext</span>.Current.Request.QueryString[<span style="color: maroon">&quot;filename&quot;</span>] != <span style="color: blue">null</span>)</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; fileName = context.Server.MapPath(<span style="color: maroon">&quot;Images/&quot;</span> + <span style="color: teal">HttpContext</span>.Current.Request.QueryString[<span style="color: maroon">&quot;filename&quot;</span>]);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.Drawing.<span style="color: teal">Bitmap</span> bitMap = <span style="color: blue">new</span> System.Drawing.<span style="color: teal">Bitmap</span>(fileName);</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.IO.<span style="color: teal">MemoryStream</span> ms = <span style="color: blue">new</span> System.IO.<span style="color: teal">MemoryStream</span>();</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; bitMap.Save(ms, System.Drawing.Imaging.<span style="color: teal">ImageFormat</span>.Bmp);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">byte</span>[] byteArray = <span style="color: blue">new</span> <span style="color: blue">byte</span>[ms.Length];</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ms.Position = 0;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ms.Read(byteArray, 0, <span style="color: teal">Convert</span>.ToInt32(ms.Length));</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ms.Close();</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ms.Dispose();</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; bitMap.Dispose();</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; context.Response.ContentType = <span style="color: maroon">&quot;image/bmp&quot;</span>;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; context.Response.BinaryWrite(byteArray);</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">catch</span> (<span style="color: teal">Exception</span> ee)</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">throw</span> <span style="color: blue">new</span> <span style="color: teal">ApplicationException</span>(ee.ToString());</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">finally</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; {</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">public</span> <span style="color: blue">bool</span> IsReusable {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">get</span> {</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">return</span> <span style="color: blue">false</span>;</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;&#160;&#160; }</p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px">}</p> </div>  <p>&#160;</p>  <p>(ASPNETIISTiming.aspx) The aspx page to pull it all together (nothing in the codebehind).</p>  <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">   <p style="margin: 0px"><span style="background: yellow">&lt;%</span><span style="color: blue">@</span> <span style="color: maroon">Page</span> <span style="color: red">Language</span><span style="color: blue">=&quot;C#&quot;</span> <span style="color: red">MasterPageFile</span><span style="color: blue">=&quot;~/MasterPageNoHeadShot.master&quot;</span> <span style="color: red">AutoEventWireup</span><span style="color: blue">=&quot;true&quot;</span> <span style="color: red">CodeFile</span><span style="color: blue">=&quot;ASPNETIISTiming.aspx.cs&quot;</span> <span style="color: red">Inherits</span><span style="color: blue">=&quot;ASPNETIISTiming&quot;</span> <span style="color: red">Title</span><span style="color: blue">=&quot;Untitled Page&quot;</span> <span style="background: yellow">%&gt;</span></p>    <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Content</span> <span style="color: red">ID</span><span style="color: blue">=&quot;Content1&quot;</span> <span style="color: red">ContentPlaceHolderID</span><span style="color: blue">=&quot;ContentPlaceHolder1&quot;</span> <span style="color: red">Runat</span><span style="color: blue">=&quot;Server&quot;&gt;</span></p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">table</span> <span style="color: red">border</span><span style="color: blue">=&quot;1&quot;</span> <span style="color: red">cellpadding</span><span style="color: blue">=&quot;15&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">tr</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">td</span> <span style="color: red">colspan</span><span style="color: blue">=&quot;3&quot;</span> <span style="color: red">style</span><span style="color: blue">=&quot;text-align: center&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Time Shown is for comparing load time in milliseconds when loading an image from</p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; IIS<span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; or using ASP.NET handler.<span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; For Further Discussion on this:<span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">HyperLink</span> <span style="color: red">ID</span><span style="color: blue">=&quot;HyperLink1&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">NavigateUrl</span><span style="color: blue">=&quot;http://peterkellner.net/IISASPNETPerf&quot;&gt;</span>http://peterkellner.net/IISASPNETPerf<span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">HyperLink</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">td</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">tr</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">tr</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">td</span> <span style="color: red">style</span><span style="color: blue">=&quot;width: 100px&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Small Image (35KB)<span style="color: blue">&lt;/</span><span style="color: maroon">td</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">td</span> <span style="color: red">style</span><span style="color: blue">=&quot;width: 100px&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Medium Image (550KB)<span style="color: blue">&lt;/</span><span style="color: maroon">td</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">td</span> <span style="color: red">style</span><span style="color: blue">=&quot;width: 100px&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Large Image (5.6MB)<span style="color: blue">&lt;/</span><span style="color: maroon">td</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">tr</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">tr</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">td</span> <span style="color: red">style</span><span style="color: blue">=&quot;width: 100px&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">GridView</span> <span style="color: red">ID</span><span style="color: blue">=&quot;GridView1&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span><br />style=&quot;color: red;&quot;&gt;AutoGenerateColumns</span><span style="color: blue">=&quot;False&quot;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">DataSourceID</span><span style="color: blue">=&quot;ObjectDataSourceSmall&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">Columns</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">BoundField</span> <span style="color: red">DataField</span><span style="color: blue">=&quot;FromIIS&quot;</span> <span style="color: red">HeaderText</span><span style="color: blue">=&quot;FromIIS&quot;</span> <span style="color: red">SortExpression</span><span style="color: blue">=&quot;FromIIS&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">BoundField</span> <span style="color: red">DataField</span><span style="color: blue">=&quot;FromASPNET1&quot;</span> <span style="color: red">HeaderText</span><span style="color: blue">=&quot;FromASPNET1&quot;</span> <span style="color: red">SortExpression</span><span style="color: blue">=&quot;FromASPNET1&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">Columns</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">GridView</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">td</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">td</span> <span style="color: red">style</span><span style="color: blue">=&quot;width: 100px&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">GridView</span> <span style="color: red">ID</span><span style="color: blue">=&quot;GridView2&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">AutoGenerateColumns</span><span style="color: blue">=&quot;False&quot;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">DataSourceID</span><span style="color: blue">=&quot;ObjectDataSourceMedium&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">Columns</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">BoundField</span> <span style="color: red">DataField</span><span style="color: blue">=&quot;FromIIS&quot;</span> <span style="color: red">HeaderText</span><span style="color: blue">=&quot;FromIIS&quot;</span> <span style="color: red">SortExpression</span><span style="color: blue">=&quot;FromIIS&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">BoundField</span> <span style="color: red">DataField</span><span style="color: blue">=&quot;FromASPNET1&quot;</span> <span style="color: red">HeaderText</span><span style="color: blue">=&quot;FromASPNET1&quot;</span> <span style="color: red">SortExpression</span><span style="color: blue">=&quot;FromASPNET1&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">Columns</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">GridView</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">td</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">td</span> <span style="color: red">style</span><span style="color: blue">=&quot;width: 100px&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">GridView</span> <span style="color: red">ID</span><span style="color: blue">=&quot;GridView3&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">AutoGenerateColumns</span><span style="color: blue">=&quot;False&quot;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">DataSourceID</span><span style="color: blue">=&quot;ObjectDataSourceLarge&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">Columns</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">BoundField</span> <span style="color: red">DataField</span><span style="color: blue">=&quot;FromIIS&quot;</span> <span style="color: red">HeaderText</span><span style="color: blue">=&quot;FromIIS&quot;</span> <span style="color: red">SortExpression</span><span style="color: blue">=&quot;FromIIS&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">BoundField</span> <span style="color: red">DataField</span><span style="color: blue">=&quot;FromASPNET1&quot;       <br /></span><span style="color: red">HeaderText</span><span style="color: blue">=&quot;FromASPNET1&quot;</span> <span style="color: red">SortExpression</span><span style="color: blue">=&quot;FromASPNET1&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">Columns</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">GridView</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">td</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">tr</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">table</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Button</span> <span style="color: red">ID</span><span style="color: blue">=&quot;Button1&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">Text</span><span style="color: blue">=&quot;Recalculate Times&quot;</span> <span style="color: red">Visible</span><span style="color: blue">=&quot;False&quot;</span> <span style="color: blue">/&gt;&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">&amp;nbsp;&amp;nbsp;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">ObjectDataSource</span> <span style="color: red">ID</span><span style="color: blue">=&quot;ObjectDataSourceMedium&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">SelectMethod</span><span style="color: blue">=&quot;GetWebResults&quot;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">TypeName</span><span style="color: blue">=&quot;GetWebData&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">SelectParameters</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Parameter</span> <span style="color: red">DefaultValue</span><span style="color: blue">=&quot;10&quot;</span> <span style="color: red">Name</span><span style="color: blue">=&quot;iterations&quot;</span> <span style="color: red">Type</span><span style="color: blue">=&quot;Int32&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Parameter</span> <span style="color: red">DefaultValue</span><span style="color: blue">=&quot;medium.bmp&quot;</span> <span style="color: red">Name</span><span style="color: blue">=&quot;fileName&quot;</span> <span style="color: red">Type</span><span style="color: blue">=&quot;String&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">SelectParameters</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">ObjectDataSource</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">ObjectDataSource</span> <span style="color: red">ID</span><span style="color: blue">=&quot;ObjectDataSourceSmall&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">SelectMethod</span><span style="color: blue">=&quot;GetWebResults&quot;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">TypeName</span><span style="color: blue">=&quot;GetWebData&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">SelectParameters</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Parameter</span> <span style="color: red">DefaultValue</span><span style="color: blue">=&quot;10&quot;</span> <span style="color: red">Name</span><span style="color: blue">=&quot;iterations&quot;</span> <span style="color: red">Type</span><span style="color: blue">=&quot;Int32&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Parameter</span> <span style="color: red">DefaultValue</span><span style="color: blue">=&quot;small.bmp&quot;</span> <span style="color: red">Name</span><span style="color: blue">=&quot;fileName&quot;</span> <span style="color: red">Type</span><span style="color: blue">=&quot;String&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">SelectParameters</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">ObjectDataSource</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">ObjectDataSource</span> <span style="color: red">ID</span><span style="color: blue">=&quot;ObjectDataSourceLarge&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">SelectMethod</span><span style="color: blue">=&quot;GetWebResults&quot;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">TypeName</span><span>=&quot;GetWebData&quot;&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">SelectParameters</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Parameter</span> <span style="color: red">DefaultValue</span><span style="color: blue">=&quot;10&quot;</span> <span style="color: red">Name</span><span style="color: blue">=&quot;iterations&quot;</span> <span style="color: red">Type</span><span style="color: blue">=&quot;Int32&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Parameter</span> <span style="color: red">DefaultValue</span><span style="color: blue">=&quot;large.bmp&quot;</span> <span style="color: red">Name</span><span style="color: blue">=&quot;fileName&quot;</span> <span style="color: red">Type</span><span style="color: blue">=&quot;String&quot;</span> <span style="color: blue">/&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">SelectParameters</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">ObjectDataSource</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;</p>    <p style="margin: 0px"><span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Content</span><span style="color: blue">&gt;</span></p>    <p style="margin: 0px">&#160;</p> </div>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2006/09/04/iisaspnetperf/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Zero to Professional Web Site in Two DaysUsing Microsoft&#8217;s Visual Studio Design Templates</title>
		<link>http://peterkellner.net/2006/08/28/msprofcsshowto/</link>
		<comments>http://peterkellner.net/2006/08/28/msprofcsshowto/#comments</comments>
		<pubDate>Tue, 29 Aug 2006 01:19:06 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.Net 2.0]]></category>
		<category><![CDATA[ASP.NET 2.0]]></category>
		<category><![CDATA[How Things Work]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterkellner.net/2006/08/28/zero-to-professional-web-site-in-two-daysusing-microsofts-visual-studio-design-templates/</guid>
		<description><![CDATA[<p>It's Monday, August 21st, we have <a href="http://www.siliconvalley-codecamp.com">our CodeCamp scheduled for October 7th and 8th</a> in Los Altos California and we realize we need to have our web site to sign up and running yesterday!  For those of you who don't know what a codecamp is, basically, it's a developer to developer weekend meeting where high quality presentations are given to an audience of enthusiastic developers.  Typically, 30 or 40 speakers running simultanious presentations to 300 or so attendees.  Codecamps are all Volunteer, all free, and always on a weekend.  So, our web site needs to allow sign ups for speakers and their presentations, attendess to let us know they are coming, provide information about the Venue as well as ultimately provide scheduling information about classes.  Most importantly, it needs to do it with style and pizazz.</p>

<a href="http://www.siliconvalley-codecamp.com">
</a>]]></description>
			<content:encoded><![CDATA[<h2>Using Microsoft&#8217;s Visual Studio Design Templates</h2>  <p><strong>Author: Peter Kellner</strong>     <br /><strong>Date: August 27th, 2006</strong></p>  <hr />  <div id="two-column-container">   <h2>Our Story</h2>    <p>It&#8217;s Monday, August 21st, we have <a href="http://www.siliconvalley-codecamp.com">our CodeCamp scheduled for October 7th and 8th</a> in Los Altos California and we realize we need to have our web site to sign up and running yesterday! For those of you who don&#8217;t know what a codecamp is, basically, it&#8217;s a developer to developer weekend meeting where high quality presentations are given to an audience of enthusiastic developers. Typically, 30 or 40 speakers running simultanious presentations to 300 or so attendees. Codecamps are all Volunteer, all free, and always on a weekend. So, our web site needs to allow sign ups for speakers and their presentations, attendess to let us know they are coming, provide information about the Venue as well as ultimately provide scheduling information about classes. Most importantly, it needs to do it with style and pizazz.</p> <span id="more-29"></span>    <h2>Microsoft&#8217;s Professional CSS Design Templates to the Rescue</h2>   <img class="floatLeft" src="http://peterkellner.net/wp/Images/VSDesignTemplates1/thumb-vs-design-template-fun.jpg" width="258" height="305" />     <p>Personally, I&#8217;m good at building web site plumbing, doing things like building master pages, doing database access, making tables and labels, but to put it might it simply, I&#8217;m web design skill challenged. This is where Microsoft has done me a huge service by providing reference CSS Design templates I can use to create professional looking web sites. For our codecamp web site I took a look at the <a href="http://msdn.microsoft.com/asp.net/reference/design/templates/default.aspx">five templates</a> available to me. The one that caught my eye for CodeCamp was the fun style web site on the left (<a href="http://msdn.microsoft.com/asp.net/reference/design/templates/">also as shown on Microsoft&#8217;s web site</a>).</p>    <p>It has a three dimensional, building block kind of look, a simple clean design and would allow me to have all the functionality I wanted in my web site. Taking a peak at the finished web site you can see the similarity.</p>    <div id="two-column-container">     <h2>Our Finished Product</h2>     <a href="http://www.siliconvalley-codecamp.com"><img class="floatRight" border="0" src="http://peterkellner.net/wp/Images/VSDesignTemplates1/siliconvalley-codecamp1.jpg" width="400" height="374" /></a>       <p>Let&#8217;s take a look at the steps involved. As good engineers, we know what 60 of the &quot;zero to 60&quot; will look like (see picture on right), we know what &quot;zero&quot; looks like (Visual Studio 2005, File/New Empty Website), now we just need to figure out what the steps in the middle are.</p>      <p>By way of comparison between what Microsoft provides with their CSS Design Templates and our finished product, notice the menu on the left. Same format, just different content. Notice the title on the top, the header on the bottom as well as of course the great looking building block graphics giving the site the &quot;fun&quot; look and feel. </p>      <p>In the next section, will discuss the mapping between asp.net 2.0 and the CSS. Then, we will go into more details about how to make it happen. As a &quot;tables&quot; kind of HTML programmer it warms my heart (as well as all the viewers of my sites) to be able to deliver a css enabled web site. </p>   </div>    <br />    <div id="two-column-container">     <h2>Mapping CSS to ASP.NET 2.0</h2>      <p>Lets first briefly talk some about what it takes to use a CSS file in a asp.net web site. First, you need to have CSS that supports the basic constructs you will be using. Assuming you are going to use a master page to implement your web site, you&#8217;ll need to have containers (also known as div tags) that wrap all the different parts of your web site. This includes things like headers, footers, menu&#8217;s, login controls, as well as of course the content. We will now go into a little detail on some of these areas to help you understand the steps.</p>      <h3>Headers</h3>      <p>If you look in the CSS file for the FUN site, you&#8217;ll see the following definition for &quot;sitename&quot; and &quot;slogan&quot; .</p> <!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf13 #sitename\cf0  \{\par ??\tab \cf6 position\cf0 :\cf2 absolute\cf0 ;\par ??\tab \cf6 top\cf0 :\cf2 20px\cf0 ;\par ??\tab \cf6 right\cf0 :\cf2 100px\cf0 ;\par ??\tab \cf6 text-align\cf0 :\cf2 right\cf0 ;\par ??\tab \cf6 color\cf0 :\cf2 #FFFFFF\cf0 ;\par ??\tab \cf6 font-size\cf0 :\cf2 1.8em\cf0 ;\par ??\tab \cf6 font-weight\cf0 :\cf2 bold\cf0 ;\par ??\tab \}\par ??\par ??\cf13 #sitename\cf0  \cf13 a\cf0  \{\par ??\tab \cf6 text-decoration\cf0 :\cf2 none\cf0 ;\par ??\tab \cf6 color\cf0 :\cf2 #FFFFFF\cf0 ;\par ??\tab \cf6 border-bottom\cf0 :\cf2 none\cf0 ;\par ??\tab \}\par ??\par ??\cf13 #slogan\cf0  \{\par ??\tab \cf6 font-size\cf0 :\cf2 .65em\cf0 ;\par ??\tab \cf6 margin\cf0 :\cf2 0px\cf0 ;\par ??\tab \cf6 text-align\cf0 :\cf2 right\cf0 ;\par ??\tab \}}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: maroon">#sitename</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">position</span>:<span style="color: blue">absolute</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">top</span>:<span style="color: blue">20px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">right</span>:<span style="color: blue">100px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">text-align</span>:<span style="color: blue">right</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">color</span>:<span style="color: blue">#FFFFFF</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">font-size</span>:<span style="color: blue">1.8em</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">font-weight</span>:<span style="color: blue">bold</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#sitename</span> <span style="color: maroon">a</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">text-decoration</span>:<span style="color: blue">none</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">color</span>:<span style="color: blue">#FFFFFF</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">border-bottom</span>:<span style="color: blue">none</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#slogan</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">font-size</span>:<span style="color: blue">.65em</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin</span>:<span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">text-align</span>:<span style="color: blue">right</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>     </div>      <br />      <p>In the reference site for Microsoft&#8217;s CSS Fun Site, you&#8217;ll see that they use the CSS for the title as follows:</p>      <br /><!--
{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="sitename"&gt;\par ??\cf0     \cf2 &lt;\cf13 a\cf0  \cf6 href\cf2 ="#"\cf0  \cf6 title\cf2 ="site name - home page"&gt;\cf0 site name\cf2 &lt;/\cf13 a\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="slogan"&gt;\par ??\cf0         Web site or company slogan goes here\cf2 &lt;/\cf13 div\cf2 &gt;\par ??&lt;/\cf13 div\cf2 &gt;}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;sitename&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#&quot;</span> <span style="color: red">title</span><span style="color: blue">=&quot;site name &#8211; home page&quot;&gt;</span>site name<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;slogan&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; Web site or company slogan goes here<span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px"><span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>     </div>      <br />      <p>In our ASP.NET 2.0 <a href="http://www.siliconvalley-codecamp.com">http://www.siliconvalley-codecamp.com</a>, we use a similar construct for our title as follows:</p> <!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="sitename"&gt;\par ??\cf0     \cf2 &lt;\cf13 a\cf0  \cf6 href\cf2 ="#"\cf0  \cf6 title\cf2 ="Silicon Valley Code Camp"&gt;\cf0 Silicon Valley Code Camp\cf2 &lt;/\cf13 a\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="slogan"&gt;\par ??\cf0         "By and For the Developer Community"\par ??    \cf2 &lt;/\cf13 div\cf2 &gt;\par ??&lt;/\cf13 div\cf2 &gt;}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;sitename&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#&quot;</span> <span style="color: red">title</span><span style="color: blue">=&quot;Silicon Valley Code Camp&quot;&gt;</span>Silicon Valley Code Camp<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;slogan&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;By and For the Developer Community&quot;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px"><span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>     </div>      <br />      <p>Footers are implemented in a similar way. Without showing all the details this time, the following snippet shows how we used the CSS to implement our own footer.</p>      <br /><!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="footer-container"&gt;\par ??\cf0     \cf2 &lt;\cf13 span\cf0  \cf6 id\cf2 ="footer-left"&gt;&lt;/\cf13 span\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="footer-right"&gt;\par ??\cf0         \cf2 &lt;\cf13 p\cf2 &gt;\par ??\cf0             Silicon Valley Code Camp\cf2 &lt;\cf13 br\cf0  \cf2 /&gt;\par ??\cf0             October 7th and 8th, 2006\cf2 &lt;\cf13 br\cf0  \cf2 /&gt;\par ??\cf0             FootHill College, Los Altos California\cf2 &lt;/\cf13 p\cf2 &gt;\par ??\cf0     \cf2 &lt;/\cf13 div\cf2 &gt;\par ??&lt;/\cf13 div\cf2 &gt;}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;footer-container&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">span</span> <span style="color: red">id</span><span style="color: blue">=&quot;footer-left&quot;&gt;&lt;/</span><span style="color: maroon">span</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;footer-right&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">p</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Silicon Valley Code Camp<span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; October 7th and 8th, 2006<span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; FootHill College, Los Altos California<span style="color: blue">&lt;/</span><span style="color: maroon">p</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px"><span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>     </div>      <br />      <p>Lets take a look now at how to implement the menu (left side of the page) in the Master Page. This one is a little trickier because the css and Microsoft&#8217;s example don&#8217;t know anything about the sitemanager server control asp.net 2.0 gives us. First thing, lets view the actual css used for the menu as well as the example given to us using this css. </p>      <br /><!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf11 /******************\par ??SIDE LAYOUT \par ??******************/\par ??\par ??\cf13 #side-container-outer\cf0  \{\par ??\tab \cf6 width\cf0 :\cf2 20%\cf0 ;\par ??\tab \cf6 position\cf0 :\cf2 absolute\cf0 ;\par ??\tab \cf6 top\cf0 :\cf2 120px\cf0 ;\par ??\tab \cf6 left\cf0 :\cf2 0px\cf0 ;\par ??\tab \cf6 padding-bottom\cf0 :\cf2 100px\cf0 ;\par ??\tab \}\par ??\tab \par ??\cf13 #block-side-top-right\cf0  \{\par ??\tab \cf6 width\cf0 :\cf2 92%\cf0 ;\par ??\tab \cf6 height\cf0 :\cf2 25px\cf0 ;\par ??\tab \cf6 float\cf0 :\cf2 right\cf0 ;\par ??\tab \}\par ??\tab \par ??\cf13 #block-side-top-left\cf0  \{\par ??\tab \cf6 width\cf0 :\cf2 8%\cf0 ;\par ??\tab \cf6 height\cf0 :\cf2 25px\cf0 ;\par ??\tab \cf6 float\cf0 :\cf2 left\cf0 ;\par ??\tab \cf6 background\cf0 : \cf2 url(block-side-top-left.gif)\cf0  \cf2 no-repeat\cf0  \cf2 top\cf0  \cf2 right\cf0 ;\par ??\tab \}\par ??\par ??\cf13 #side-container-inner\cf0 \{\par ??\tab \cf6 background\cf0 : \cf2 #929E8E\cf0 ;\par ??\tab \cf6 margin\cf0 :\cf2 0px\cf0 ;\par ??\tab \cf6 padding\cf0 :\cf2 0px\cf0 ;\par ??\tab \}\par ??\tab \par ??\cf13 #side\cf0  \{\par ??\tab \cf6 background\cf0 : \cf2 #FFFFFF\cf0 ;\par ??\tab \cf6 width\cf0 :\cf2 70%\cf0 ;\par ??\tab \cf6 margin-left\cf0 :\cf2 8%\cf0 ;\par ??\tab \cf6 padding\cf0 :\cf2 0\cf0  \cf2 12%\cf0  \cf2 10px\cf0  \cf2 10%\cf0 ;\par ??\tab \}\tab \par ??\tab \par ??\cf13 #block-side-bottom-left\cf0  \{\par ??\tab \cf6 width\cf0 :\cf2 8%\cf0 ;\par ??\tab \cf6 height\cf0 :\cf2 25px\cf0 ;\par ??\tab \cf6 float\cf0 :\cf2 left\cf0 ;\par ??\tab \cf6 background\cf0 : \cf2 url(block-side-bottom-left.gif)\cf0  \cf2 no-repeat\cf0  \cf2 bottom\cf0  \cf2 right\cf0 ;\par ??\tab \cf6 margin\cf0 :\cf2 0px\cf0 ;\par ??\tab \cf6 padding\cf0 :\cf2 0px\cf0 ;\par ??\tab \}\par ??\tab \par ??\cf13 #block-side-bottom-right\cf0  \{\par ??\tab \cf6 width\cf0 :\cf2 92%\cf0 ;\par ??\tab \cf6 height\cf0 :\cf2 25px\cf0 ;\par ??\tab \cf6 float\cf0 :\cf2 right\cf0 ;\par ??\tab \cf6 margin\cf0 :\cf2 0px\cf0 ;\par ??\tab \cf6 padding\cf0 :\cf2 0px\cf0 ;\par ??\tab \}}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: green">/******************</span></p>        <p style="margin: 0px"><span style="color: green">SIDE LAYOUT </span></p>        <p style="margin: 0px"><span style="color: green">******************/</span></p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#side-container-outer</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">20%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">position</span>:<span style="color: blue">absolute</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">top</span>:<span style="color: blue">120px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">left</span>:<span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">padding-bottom</span>:<span style="color: blue">100px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#block-side-top-right</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">92%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">height</span>:<span style="color: blue">25px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">float</span>:<span style="color: blue">right</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#block-side-top-left</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">8%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">height</span>:<span style="color: blue">25px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">float</span>:<span style="color: blue">left</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">background</span>: <span style="color: blue">url(block-side-top-left.gif)</span> <span style="color: blue">no-repeat</span> <span style="color: blue">top</span> <span style="color: blue">right</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#side-container-inner</span>{</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">background</span>: <span style="color: blue">#929E8E</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin</span>:<span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">padding</span>:<span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#side</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">background</span>: <span style="color: blue">#FFFFFF</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">70%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin-left</span>:<span style="color: blue">8%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">padding</span>:<span style="color: blue">0</span> <span style="color: blue">12%</span> <span style="color: blue">10px</span> <span style="color: blue">10%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }&#160;&#160;&#160; </p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#block-side-bottom-left</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">8%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">height</span>:<span style="color: blue">25px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">float</span>:<span style="color: blue">left</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">background</span>: <span style="color: blue">url(block-side-bottom-left.gif)</span> <span style="color: blue">no-repeat</span> <span style="color: blue">bottom</span> <span style="color: blue">right</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin</span>:<span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">padding</span>:<span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#block-side-bottom-right</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">92%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">height</span>:<span style="color: blue">25px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">float</span>:<span style="color: blue">right</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin</span>:<span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">padding</span>:<span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>     </div>      <br />      <p>Now, lets look at the actual implementation that gives Microsoft their default menu in their template example.</p>      <br /><!--
{\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="side-container-outer"&gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="block-side-top-right"&gt;\par ??\cf0         \cf2 &lt;\cf13 img\cf0  \cf6 src\cf2 ="App_Themes/default/block-side-top-right.gif"\cf0  \par ??           \cf6 alt\cf2 =""\cf0  \cf6 width\cf2 ="100%"\cf0  \cf6 height\cf2 ="25"\cf0  \cf2 /&gt;&lt;/\cf13 div\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="block-side-top-left"&gt;\par ??\cf0     \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 class\cf2 ="clear"&gt;\par ??\cf0     \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="side-container-inner"&gt;\par ??\cf0         \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="side"&gt;\par ??\cf0             \cf2 &lt;\cf13 div\cf0  \cf6 class\cf2 ="clear"&gt;\par ??\cf0             \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0             \cf11 &lt;!-- BEGIN NAV ITMES --&gt;\par ??\cf0             \cf2 &lt;\cf13 div\cf0  \cf6 class\cf2 ="none"&gt;\par ??\cf0                 \cf2 &lt;\cf13 a\cf0  \cf6 href\cf2 ="#maincontent"&gt;\cf0 goto main content\cf2 &lt;/\cf13 a\cf2 &gt;\par ??\cf0             \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0             \cf2 &lt;\cf13 ul\cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 li\cf2 &gt;&lt;\cf13 a\cf0  \cf6 href\cf2 ="#"\cf0  \cf6 title\cf2 =""&gt;\par ??\cf0                     Home\cf2 &lt;/\cf13 a\cf2 &gt;&lt;/\cf13 li\cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 li\cf2 &gt;&lt;\cf13 a\cf0  \cf6 href\cf2 ="#"\cf0  \cf6 title\cf2 =""&gt;\par ??\cf0                     News\cf2 &lt;/\cf13 a\cf2 &gt;&lt;/\cf13 li\cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 li\cf2 &gt;&lt;\cf13 a\cf0  \cf6 href\cf2 ="#"\cf0  \cf6 title\cf2 =""&gt;\par ??\cf0                     Products\cf2 &lt;/\cf13 a\cf2 &gt;&lt;/\cf13 li\cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 li\cf2 &gt;&lt;\cf13 a\cf0  \cf6 href\cf2 ="#"\cf0  \cf6 title\cf2 =""&gt;\par ??\cf0                     About\cf2 &lt;/\cf13 a\cf2 &gt;&lt;/\cf13 li\cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 li\cf2 &gt;&lt;\cf13 a\cf0  \cf6 href\cf2 ="#"\cf0  \cf6 title\cf2 =""&gt;\par ??\cf0                     Contact\cf2 &lt;/\cf13 a\cf2 &gt;&lt;/\cf13 li\cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 li\cf2 &gt;&lt;\cf13 a\cf0  \cf6 href\cf2 ="#"\cf0  \cf6 title\cf2 =""&gt;\par ??\cf0                     Login\cf2 &lt;/\cf13 a\cf2 &gt;&lt;/\cf13 li\cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 li\cf2 &gt;&lt;\cf13 a\cf0  \cf6 href\cf2 ="#"\cf0  \cf6 title\cf2 =""&gt;\par ??\cf0                     Join\cf2 &lt;/\cf13 a\cf2 &gt;&lt;/\cf13 li\cf2 &gt;\par ??\cf0             \cf2 &lt;/\cf13 ul\cf2 &gt;\par ??\cf0             \cf2 &lt;\cf13 div\cf0  \cf6 class\cf2 ="separator-side-column"&gt;\par ??\cf0             \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0             \cf11 &lt;!-- END NAV ITEMS --&gt;\par ??\cf0         \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0         \cf2 &lt;\cf13 div\cf2 &gt;\par ??\cf0             \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="block-side-bottom-right"&gt;\par ??\cf0                 \cf2 &lt;\cf13 img\cf0  \cf6 src\cf2 ="App_Themes/default/block-side-bottom-right.gif"\cf0  \par ??                   \cf6 alt\cf2 =""\cf0  \cf6 width\cf2 ="100%"\cf0  \cf6 height\cf2 ="25"\cf0  \cf2 /&gt;&lt;/\cf13 div\cf2 &gt;\par ??\cf0             \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="block-side-bottom-left"&gt;\par ??\cf0             \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0         \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0     \cf2 &lt;/\cf13 div\cf2 &gt;\par ??&lt;/\cf13 div\cf2 &gt;}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;side-container-outer&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;block-side-top-right&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">img</span> <span style="color: red">src</span><span style="color: blue">=&quot;App_Themes/default/block-side-top-right.gif&quot;</span> </p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">alt</span><span style="color: blue">=&quot;&quot;</span> <span style="color: red">width</span><span style="color: blue">=&quot;100%&quot;</span> <span style="color: red">height</span><span style="color: blue">=&quot;25&quot;</span> <span style="color: blue">/&gt;&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;block-side-top-left&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">class</span><span style="color: blue">=&quot;clear&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;side-container-inner&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;side&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">class</span><span style="color: blue">=&quot;clear&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">&lt;!&#8211; BEGIN NAV ITMES &#8211;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">class</span><span style="color: blue">=&quot;none&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#maincontent&quot;&gt;</span>goto main content<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">ul</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">li</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#&quot;</span> <span style="color: red">title</span><span style="color: blue">=&quot;&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Home<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">li</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">li</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#&quot;</span> <span style="color: red">title</span><span style="color: blue">=&quot;&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; News<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">li</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">li</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#&quot;</span> <span style="color: red">title</span><span style="color: blue">=&quot;&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Products<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">li</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">li</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#&quot;</span> <span style="color: red">title</span><span style="color: blue">=&quot;&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; About<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">li</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">li</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#&quot;</span> <span style="color: red">title</span><span style="color: blue">=&quot;&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Contact<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">li</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160; &amp;n bsp;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">li</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#&quot;</span> <span style="color: red">title</span><span style="color: blue">=&quot;&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Login<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">li</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">li</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&quot;#&quot;</span> <span style="color: red">title</span><span style="color: blue">=&quot;&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Join<span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">li</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">ul</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">class</span><span style="color: blue">=&quot;separator-side-column&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">&lt;!&#8211; END NAV ITEMS &#8211;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;block-side-bottom-right&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">img</span> <span style="color: red">src</span><span style="color: blue">=&quot;App_Themes/default/block-side-bottom-right.gif&quot;</span> </p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">alt</span><span style="color: blue">=&quot;&quot;</span> <span style="color: red">width</span><span style="color: blue">=&quot;100%&quot;</span> <span style="color: red">height</span><span style="color: blue">=&quot;25&quot;</span> <span style="color: blue">/&gt;&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;block-side-bottom-left&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px"><span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>     </div>      <p>&#160;</p>      <p>Because we are going to use the asp.net 2.0 server control SiteManager, our aspx file will look considerable different but will yield the same look and feel.</p>      <br /><!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="side-container-outer"&gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="block-side-top-right"&gt;\par ??\cf0         \cf2 &lt;\cf13 img\cf0  \cf6 src\cf2 ="App_Themes/default/block-side-top-right.gif"\cf0  \par ??         \cf6 alt\cf2 =""\cf0  \cf6 width\cf2 ="100%"\cf0  \cf6 height\cf2 ="25"\cf0  \cf2 /&gt;&lt;/\cf13 div\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="block-side-top-left"&gt;\par ??\cf0     \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 class\cf2 ="clear"&gt;\par ??\cf0     \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="side-container-inner"&gt;\par ??\cf0         \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="side"&gt;\par ??\cf0             \cf2 &lt;\cf13 div\cf0  \cf6 class\cf2 ="clear"&gt;\par ??\cf0             \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0             \cf11 &lt;!-- BEGIN NAV ITMES --&gt;\par ??\cf0             \cf2 &lt;\cf13 asp\cf2 :\cf13 SiteMapDataSource\cf0  \cf6 ID\cf2 ="SiteMapDataSource1"\cf0  \par ??             \cf6 runat\cf2 ="server"\cf0  \cf6 ShowStartingNode\cf2 ="false"\cf0  \cf2 /&gt;\par ??\cf0             \cf2 &lt;\cf13 asp\cf2 :\cf13 Repeater\cf0  \cf6 ID\cf2 ="foo"\cf0  \cf6 runat\cf2 ="server"\par ??\cf0              \cf6 DataSourceID\cf2 ="SiteMapDataSource1"\cf0  \cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 HeaderTemplate\cf2 &gt;\par ??\cf0                     \cf2 &lt;\cf13 ul\cf2 &gt;\par ??\cf0                 \cf2 &lt;/\cf13 HeaderTemplate\cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 ItemTemplate\cf2 &gt;\par ??\cf0                     \cf2 &lt;\cf13 li\cf2 &gt;&lt;\cf13 a\cf0  \cf6 href\cf2 ='\cf0\cb7\highlight7 &lt;%\cb0\highlight0 #Eval("url") \cb7\highlight7 %&gt;\cf2\cb0\highlight0 '&gt;\par ??\cf0                         \cb7\highlight7 &lt;%\cf2\cb0\highlight0 #\cf0  Eval(\cf13 "Title"\cf0 ) \cb7\highlight7 %&gt;\par ??\cb0\highlight0                     \cf2 &lt;/\cf13 a\cf2 &gt;&lt;/\cf13 li\cf2 &gt;\par ??\cf0                 \cf2 &lt;/\cf13 ItemTemplate\cf2 &gt;\par ??\cf0                 \cf2 &lt;\cf13 FooterTemplate\cf2 &gt;\par ??\cf0                     \cf2 &lt;/\cf13 ul\cf2 &gt;\par ??\cf0                 \cf2 &lt;/\cf13 FooterTemplate\cf2 &gt;\par ??\cf0             \cf2 &lt;/\cf13 asp\cf2 :\cf13 Repeater\cf2 &gt;\par ??\cf0             \cf2 &lt;\cf13 div\cf0  \cf6 class\cf2 ="separator-side-column"&gt;\par ??\cf0             \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0             \cf11 &lt;!-- END NAV ITEMS --&gt;\par ??\cf0         \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0         \cf2 &lt;\cf13 div\cf2 &gt;\par ??\cf0             \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="block-side-bottom-right"&gt;\par ??\cf0                 \cf2 &lt;\cf13 img\cf0  \cf6 src\cf2 ="App_Themes/default/block-side-bottom-right.gif"\cf0  \par ??                 \cf6 alt\cf2 =""\cf0  \cf6 width\cf2 ="100%"\cf0  \cf6 height\cf2 ="25"\cf0  \cf2 /&gt;&lt;/\cf13 div\cf2 &gt;\par ??\cf0             \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="block-side-bottom-left"&gt;\par ??\cf0             \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0         \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0     \cf2 &lt;/\cf13 div\cf2 &gt;\par ??&lt;/\cf13 div\cf2 &gt;}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;side-container-outer&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;block-side-top-right&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">img</span> <span style="color: red">src</span><span style="color: blue">=&quot;App_Themes/default/block-side-top-right.gif&quot;</span> </p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">alt</span><span style="color: blue">=&quot;&quot;</span> <span style="color: red">width</span><span style="color: blue">=&quot;100%&quot;</span> <span style="color: red">height</span><span style="color: blue">=&quot;25&quot;</span> <span style="color: blue">/&gt;&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;block-side-top-left&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">class</span><span style="color: blue">=&quot;clear&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;side-container-inner&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;side&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">class</span><span style="color: blue">=&quot;clear&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">&lt;!&#8211; BEGIN NAV ITMES &#8211;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">SiteMapDataSource</span> <span style="color: red">ID</span><span style="color: blue">=&quot;SiteMapDataSource1&quot;</span> </p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">ShowStartingNode</span><span style="color: blue">=&quot;false&quot;</span> <span style="color: blue">/&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Repeater</span> <span style="color: red">ID</span><span style="color: blue">=&quot;foo&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">DataSourceID</span><span style="color: blue">=&quot;SiteMapDataSource1&quot;</span> <span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">HeaderTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">ul</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">HeaderTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">ItemTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">li</span><span style="color: blue">&gt;&lt;</span><span style="color: maroon">a</span> <span style="color: red">href</span><span style="color: blue">=&#8217;</span><span style="background: yellow">&lt;%</span>#Eval(&quot;url&quot;) <span style="background: yellow">%&gt;</span><span style="color: blue">&#8216;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="background: yellow">&lt;%</span><span style="color: blue">#</span> Eval(<span style="color: maroon">&quot;Title&quot;</span>) <span style="background: yellow">%&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">a</span><span style="color: blue">&gt;&lt;/</span><span style="color: maroon">li</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">ItemTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">FooterTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">ul</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">FooterTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Repeater</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">class</span><span style="color: blue">=&quot;separator-side-column&quot;&gt;</span></p>        <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: green">&lt;!&#8211; END NAV ITEMS &#8211;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;block-side-bottom-right&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">img</span> <span style="color: red">src</span><span style="color: blue">=&quot;App_Themes/default/block-side-bottom-right.gif&quot;</span> </p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">alt</span><span style="color: blue">=&quot;&quot;</span> <span style="color: red">width</span><span style="color: blue">=&quot;100%&quot;</span> <span style="color: red">height</span><span style="color: blue">=&quot;25&quot;</span> <span style="color: blue">/&gt;&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;block-side-bottom-left&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px"><span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>     </div>      <br />      <p>The SiteMap Server control is basically a repeater type control which means that a template for each row being repeated must be referenced. All the rows in the menu (which are pulled from the SiteMapDataSource) are output through the SiteMap Server control. However, if you look carefully at the above two examples, you&#8217;ll see that the containers (div tags) all have the same class references.</p>      <h2>Not Everything Works out of the Box</h2>      <p>So far, everything has seemed very straight forward. Well, life is not always so simple. For example, on our <a href="http://www.siliconvalley-codecamp.com/Presenters.aspx">Presenters</a> web page, we want to use the three column content that the css fun template provides us but unfortunately, there example looks like what I have pictured below on the left, and we want to make it look like what is pictured on the right. To do this, we are going to have to do a little minor surgery on the css file. Not very hard though since Microsoft&#8217;s template is almost correct. </p>      <p><a href="http://www.siliconvalley-codecamp.com/Presenters.aspx"><img class="floatRight" border="0" src="http://peterkellner.net/wp/Images/VSDesignTemplates1/ThreeColPresenter.jpg" width="350" height="280" /></a></p>      <p><img class="floatLeft" src="http://peterkellner.net/wp/Images/VSDesignTemplates1/ThreeColDefault.jpg" width="350" height="235" /></p>      <div style="clear: both"></div>      <p>The first thing you notice is that the Microsoft example of using the template on the left has columns that are roughtly equal in size. For our web site, we want to have a narrow column for the picture, a wide column for the course description, and then a narrow column to show the presenters website. What we get from the css gives is a great starting place. Below are all the css tags needed from the css file to make the three equal width columns. </p>      <br /><!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf11 /******************\par ??Three Column Section\par ??******************/\par ??\par ??\cf13 #three-column-container\cf0  \{\par ??\tab \cf6 width\cf0 :\cf2 100%\cf0 ;\par ??\tab \cf6 margin\cf0 :\cf2 10px\cf0  \cf2 0px\cf0 ;\par ??\tab \cf6 padding\cf0 :\cf2 10px\cf0  \cf2 0px\par ??\cf0 \tab \}\par ??\par ??\cf13 #three-column-left\cf0  \{\par ??\tab \cf6 float\cf0 :\cf2 left\cf0 ;\par ??\tab \cf6 width\cf0 :\cf2 30%\cf0 ;\par ??\tab \}\par ??\par ??\cf13 #three-column-right\cf0  \{\par ??\tab \cf6 float\cf0 :\cf2 right\cf0 ;\par ??\tab \cf6 width\cf0 :\cf2 30%\cf0 ;\par ??\tab \}\par ??\par ??\cf13 #three-column-middle\cf0  \{\par ??\tab \cf6 width\cf0 :\cf2 30%\cf0 ;\par ??\tab \cf6 margin\cf0 :\cf2 0px\cf0  \cf2 31%\cf0  \cf2 0px\cf0  \cf2 35%\cf0 ;\par ??\tab \}}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: green">/******************</span></p>        <p style="margin: 0px"><span style="color: green">Three Column Section</span></p>        <p style="margin: 0px"><span style="color: green">******************/</span></p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#three-column-container</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">100%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin</span>:<span style="color: blue">10px</span> <span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">padding</span>:<span style="color: blue">10px</span> <span style="color: blue">0px</span></p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#three-column-left</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">float</span>:<span style="color: blue">left</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">30%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#three-column-right</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">float</span>:<span style="color: blue">right</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">30%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#three-column-middle</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">30%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin</span>:<span style="color: blue">0px</span> <span style="color: blue">31%</span> <span style="color: blue">0px</span> <span style="color: blue">35%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>     </div>      <br />      <p>Using this in their sample code, Microsoft used the following HTML to generate the page above on the left.</p>      <br /><!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="three-column-container"&gt;\par ??&lt;\cf13 div\cf0  \cf6 id\cf2 ="three-column-left"&gt;\par ??\cf0     \cf2 &lt;\cf13 h2\cf2 &gt;\par ??\cf0         Column one of a three column content section\cf2 &lt;/\cf13 h2\cf2 &gt;\par ??\cf0     Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh\par ??    euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Lorem ipsum dolor\par ??    sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt\par ??    ut.\cf2 &lt;/\cf13 div\cf2 &gt;\par ??&lt;\cf13 div\cf0  \cf6 id\cf2 ="three-column-right"&gt;\par ??\cf0     \cf2 &lt;\cf13 h2\cf2 &gt;\par ??\cf0         Column three of a three column content section\cf2 &lt;/\cf13 h2\cf2 &gt;\par ??\cf0     Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh\par ??    euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.\par ??\cf2 &lt;/\cf13 div\cf2 &gt;\par ??&lt;\cf13 div\cf0  \cf6 id\cf2 ="three-column-middle"&gt;\par ??\cf0     \cf2 &lt;\cf13 h2\cf2 &gt;\par ??\cf0         Column two of a three column content section\cf2 &lt;/\cf13 h2\cf2 &gt;\par ??\cf0     Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh\par ??    euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.\par ??\cf2 &lt;/\cf13 div\cf2 &gt;}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;three-column-container&quot;&gt;</span></p>        <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;three-column-left&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">h2</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; Column one of a three column content section<span style="color: blue">&lt;/</span><span style="color: maroon">h2</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh</p>        <p style="margin: 0px">&#160;&#160;&#160; euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Lorem ipsum dolor</p>        <p style="margin: 0px">&#160;&#160;&#160; sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt</p>        <p style="margin: 0px">&#160;&#160;&#160; ut.<span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;three-column-right&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">h2</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; Column three of a three column content section<span style="color: blue">&lt;/</span><span style="color: maroon">h2</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh</p>        <p style="margin: 0px">&#160;&#160;&#160; euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>        <p style="margin: 0px"><span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;three-column-middle&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">h2</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; Column two of a three column content section<span style="color: blue">&lt;/</span><span style="color: maroon">h2</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh</p>        <p style="margin: 0px">&#160;&#160;&#160; euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>        <p style="margin: 0px"><span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>     </div>      <br />      <p>We want to modify this some, but we don&#8217;t just want to modify it, we want to create another set of tags so we can preserve the original for use later. Using cut and paste (with reservation of course), we create a new set of tags and simply add a w to the end of the tag names for wide (not very creative). We then modify the margins of this new tag to give us a wide section. A little trial and error is necessary to fine tune these numbers. Below is the new css we have created.</p>      <br /><!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf11 /******************\par ??Three Column Section Wide Middle\par ??******************/\par ??\par ??\cf13 #three-column-containerw\cf0  \{\par ??\tab \cf6 width\cf0 :\cf2 100%\cf0 ;\par ??\tab \cf6 margin\cf0 :\cf2 10px\cf0  \cf2 0px\cf0 ;\par ??\tab \cf6 padding\cf0 :\cf2 10px\cf0  \cf2 0px\par ??\cf0 \tab \}\par ??\par ??\cf13 #three-column-leftw\cf0  \{\par ??\tab \cf6 float\cf0 :\cf2 left\cf0 ;\par ??\tab \cf6 width\cf0 :\cf2 15%\cf0 ;\par ??\tab \}\par ??\par ??\cf13 #three-column-rightw\cf0  \{\par ??\tab \cf6 float\cf0 :\cf2 right\cf0 ;\par ??\tab \cf6 width\cf0 :\cf2 15%\cf0 ;\par ??\tab \}\par ??\par ??\cf13 #three-column-middlew\cf0  \{\par ??\tab \cf6 width\cf0 :\cf2 55%\cf0 ;\par ??\tab \cf6 margin\cf0 :\cf2 0px\cf0  \cf2 22%\cf0  \cf2 0px\cf0  \cf2 22%\cf0 ;\par ??\tab \cf6 margin\cf0 :\par ??\tab \}\par ??}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: green">/******************</span></p>        <p style="margin: 0px"><span style="color: green">Three Column Section Wide Middle</span></p>        <p style="margin: 0px"><span style="color: green">******************/</span></p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#three-column-containerw</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">100%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin</span>:<span style="color: blue">10px</span> <span style="color: blue">0px</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">padding</span>:<span style="color: blue">10px</span> <span style="color: blue">0px</span></p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#three-column-leftw</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">float</span>:<span style="color: blue">left</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">15%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#three-column-rightw</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">float</span>:<span style="color: blue">right</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">15%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px"><span style="color: maroon">#three-column-middlew</span> {</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">width</span>:<span style="color: blue">55%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin</span>:<span style="color: blue">0px</span> <span style="color: blue">22%</span> <span style="color: blue">0px</span> <span style="color: blue">22%</span>;</p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">margin</span>:</p>        <p style="margin: 0px">&#160;&#160;&#160; }</p>     </div>      <br />      <p>Using our newly defined css &quot;three-column-containerw&quot;, we created the presenter interface using the Repeater server control included with asp.net. Notice the use of templates to each individual presenter&#8217;s information. Notice we are using div tags the way we normally use table row and column tags. Below is implementation.</p>      <br /><!--
{\rtf1\ansi\ansicpg\lang1024\noproof1252\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Courier New;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0??;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;??\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;??\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;??\red192\green192\blue192;}??\fs20 \cf2 &lt;\cf13 asp\cf2 :\cf13 Repeater\cf0  \cf6 ID\cf2 ="Repeater1"\cf0  \cf6 runat\cf2 ="server"\cf0  \par ??    \cf6 DataSourceID\cf2 ="ObjectDataSourceAllPresenters"&gt;\par ??\cf0     \cf2 &lt;\cf13 HeaderTemplate\cf2 &gt;\par ??\cf0         \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="three-column-containerw"&gt;\par ??\cf0     \cf2 &lt;/\cf13 HeaderTemplate\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 ItemTemplate\cf2 &gt;\par ??\cf0         \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="three-column-leftw"&gt;\par ??\cf0         \cf2 &lt;\cf13 br\cf0  \cf2 /&gt;\par ??\cf0             \cf2 &lt;\cf13 asp\cf2 :\cf13 Image\cf0  \cf6 runat\cf2 ="server"\cf0  \cf6 ID\cf2 ="ImageUser"\cf0  \par ??            \cf6 ImageUrl\cf2 ='\cf0\cb7\highlight7 &lt;%\cb0\highlight0 # "~/DisplayImage.ashx?PKID=" + Eval("PKID")  \cb7\highlight7 %&gt;\cf2\cb0\highlight0 '\cf0  \cf2 /&gt;\par ??\cf0             \cf2 &lt;\cf13 asp\cf2 :\cf13 Label\cf0  \cf6 ID\cf2 ="LabelName"\cf0  \cf6 runat\cf2 ="server"\cf0  \cf6 Font-Bold\cf2 ="true"\cf0  \par ??            \cf6 Text\cf2 ='\cf0\cb7\highlight7 &lt;%\cb0\highlight0 # Eval("UserFirstName") + " " + Eval("UserLastName") \cb7\highlight7 %&gt;\cf2\cb0\highlight0 '&gt;\par ??\cf0             \cf2 &lt;/\cf13 asp\cf2 :\cf13 Label\cf2 &gt;\par ??\cf0         \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0          \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="three-column-rightw"&gt;\par ??\cf0             \cf2 &lt;\cf13 asp\cf2 :\cf13 Label\cf0  \cf6 ID\cf2 ="Label2"\cf0  \cf6 runat\cf2 ="server"\cf0  \par ??            \cf6 Font-Bold\cf2 ="true"\cf0  \cf6 Text\cf2 ='\cf0\cb7\highlight7 &lt;%\cb0\highlight0 # Eval("UserWebSite") \cb7\highlight7 %&gt;\cf2\cb0\highlight0 '&gt;\par ??\cf0             \cf2 &lt;/\cf13 asp\cf2 :\cf13 Label\cf2 &gt;\par ??\cf0             \par ??            \cf2 &lt;\cf13 asp\cf2 :\cf13 HyperLink\cf0  \cf6 ID\cf2 ="HyperLinkSessions"\cf0   \par ??              \cf6 NavigateUrl\cf2 ='\cf0\cb7\highlight7 &lt;%\cb0\highlight0 # "~/Sessions.aspx?id=" + Eval("PKID") \cb7\highlight7 %&gt;\cf2\cb0\highlight0 '\par ??\cf0               \cf6 Text\cf2 ="Sessions"\par ??\cf0               \cf6 runat\cf2 ="server"&gt;&lt;/\cf13 asp\cf2 :\cf13 HyperLink\cf2 &gt;\par ??\cf0         \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0         \cf2 &lt;\cf13 div\cf0  \cf6 id\cf2 ="three-column-middlew"&gt;\par ??\cf0             \cf2 &lt;\cf13 asp\cf2 :\cf13 Label\cf0  \cf6 ID\cf2 ="Label1"\cf0  \cf6 runat\cf2 ="server"\cf0  \cf6 Text\cf2 ='\cf0\cb7\highlight7 &lt;%\cb0\highlight0 # Eval("UserBio") \cb7\highlight7 %&gt;\cf2\cb0\highlight0 '&gt;&lt;/\cf13 asp\cf2 :\cf13 Label\cf2 &gt;\par ??\cf0         \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0         \cf2 &lt;\cf13 div\cf0  \cf6 class\cf2 ="clear"&gt;&lt;/\cf13 div\cf2 &gt;\par ??\cf0         \cf2 &lt;\cf13 hr\cf0  \cf2 /&gt;\par ??\cf0     \cf2 &lt;/\cf13 ItemTemplate\cf2 &gt;\par ??\cf0     \cf2 &lt;\cf13 FooterTemplate\cf2 &gt;\par ??\cf0         \cf2 &lt;/\cf13 div\cf2 &gt;\par ??\cf0     \cf2 &lt;/\cf13 FooterTemplate\cf2 &gt;\par ??&lt;/\cf13 asp\cf2 :\cf13 Repeater\cf2 &gt;}
-->      <div style="border-bottom: #cccccc 1pt solid; border-left: #cccccc 1pt solid; padding-bottom: 1pt; padding-left: 1pt; width: 100%; padding-right: 1pt; font-family: courier new; background: #f5f5f5; color: black; font-size: 10pt; overflow: auto; border-top: #cccccc 1pt solid; border-right: #cccccc 1pt solid; padding-top: 1pt">       <p style="margin: 0px"><span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Repeater</span> <span style="color: red">ID</span><span style="color: blue">=&quot;Repeater1&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> </p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: red">DataSourceID</span><span style="color: blue">=&quot;ObjectDataSourceAllPresenters&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">HeaderTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;three-column-containerw&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">HeaderTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">ItemTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;three-column-leftw&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">br</span> <span style="color: blue">/&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Image</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">ID</span><span style="color: blue">=&quot;ImageUser&quot;</span> </p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">ImageUrl</span><span style="color: blue">=&#8217;</span><span style="background: yellow">&lt;%</span># &quot;~/DisplayImage.ashx?PKID=&quot; + Eval(&quot;PKID&quot;)&#160; <span style="background: yellow">%&gt;</span><span style="color: blue">&#8216;</span> <span style="color: blue">/&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span> <span style="color: red">ID</span><span style="color: blue">=&quot;LabelName&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">Font-Bold</span><span style="color: blue">=&quot;true&quot;</span> </p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">Text</span><span style="color: blue">=&#8217;</span><span style="background: yellow">&lt;%</span># Eval(&quot;UserFirstName&quot;) + &quot; &quot; + Eval(&quot;UserLastName&quot;) <span style="background: yellow">%&gt;</span><span style="color: blue">&#8216;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;three-column-rightw&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span> <span style="color: red">ID</span><span style="color: blue">=&quot;Label2&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> </p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">Font-Bold</span><span style="color: blue">=&quot;true&quot;</span> <span style="color: red">Text</span><span style="color: blue">=&#8217;</span><span style="background: yellow">&lt;%</span># Eval(&quot;UserWebSite&quot;) <span style="background: yellow">%&gt;</span><span style="color: blue">&#8216;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;</p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">HyperLink</span> <span style="color: red">ID</span><span style="color: blue">=&quot;HyperLinkSessions&quot;</span>&#160; </p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">NavigateUrl</span><span style="color: blue">=&#8217;</span><span style="background: yellow">&lt;%</span># &quot;~/Sessions.aspx?id=&quot; + Eval(&quot;PKID&quot;) <span style="background: yellow">%&gt;</span><span style="color: blue">&#8216;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">Text</span><span style="color: blue">=&quot;Sessions&quot;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;&gt;&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">HyperLink</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">id</span><span style="color: blue">=&quot;three-column-middlew&quot;&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span> <span style="color: red">ID</span><span style="color: blue">=&quot;Label1&quot;</span> <span style="color: red">runat</span><span style="color: blue">=&quot;server&quot;</span> <span style="color: red">Text</span><span style="color: blue">=&#8217;</span><span style="background: yellow">&lt;%</span># Eval(&quot;UserBio&quot;) <span style="background: yellow">%&gt;</span><span style="color: blue">&#8216;&gt;&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Label</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160; ;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">div</span> <span style="color: red">class</span><span style="color: blue">=&quot;clear&quot;&gt;&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">hr</span> <span style="color: blue">/&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">ItemTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;</span><span style="color: maroon">FooterTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">div</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px">&#160;&#160;&#160; <span style="color: blue">&lt;/</span><span style="color: maroon">FooterTemplate</span><span style="color: blue">&gt;</span></p>        <p style="margin: 0px"><span style="color: blue">&lt;/</span><span style="color: maroon">asp</span><span style="color: blue">:</span><span style="color: maroon">Repeater</span><span style="color: blue">&gt;</span></p>     </div>      <h2>Summary</h2>      <p>We&#8217;ve demonstrated some of the techniques her necessary to take a professional built CSS and implement an asp.net 2.0 web site. Seeing the power CSS brings to the table makes it possible for a web designer and web engineer to work independently and product outstanding results. We&#8217;ve seen that here by taking the Microsoft Professionally developed templates, combined with an asp.net 2.0 engineer (me) for two days and the results are very impressive. Mileage will vary of course depending on the project, but this really shows what can be done in a very short amount of time. </p>      <h2>About the author</h2>      <p>Peter Kellner founded 73rd Street Associates in 1990, where he successfully delivered systems for university clinic scheduling, insurance company management, and turnkey physician office management to more than 500 customers nationwide. Ten years later, in 2000, 73rd Street Associates was purchased by a large insurance company, and Peter started a new career as an independent software consultant. Among the technologies he currently is involved with are ASP.NET, Oracle, Java, VOiP, and soon, SQL Server. When not working, Peter spends most his free time biking. He has ridden his bike across the globe. Most recently he and his wife, Tammy, rode across the U.S., from California to Georgia, in just 27 days. His blog site is <a href="http://peterkellner.net">http://peterkellner.net</a>. You will find this article and the code posted in the download section.</p>   </div> </div>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2006/08/28/msprofcsshowto/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Inserting Programmatically with ObjectDataSource in ASP.NET 2.0</title>
		<link>http://peterkellner.net/2006/06/07/inserting-programmatically-with-objectdatasource-in-aspnet-20/</link>
		<comments>http://peterkellner.net/2006/06/07/inserting-programmatically-with-objectdatasource-in-aspnet-20/#comments</comments>
		<pubDate>Wed, 07 Jun 2006 20:21:02 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.NET 2.0]]></category>
		<category><![CDATA[Membership]]></category>
		<category><![CDATA[ObjectDataSource]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=37</guid>
		<description><![CDATA[( ObjectDataSource1.Insert(); )  ObjectDataSource&#8217;s are great for building your own middle tier between your aspx web page and your database (or any other datastore for that matter). By binding the datasource to a databound server control like detailsview, you auto-magically get the insert behavior you are looking for. If however, you just just want [...]]]></description>
			<content:encoded><![CDATA[<h2>( ObjectDataSource1.Insert(); )</h2>  <p>ObjectDataSource&#8217;s are great for building your own middle tier between your aspx web page and your database (or any other datastore for that matter). By binding the datasource to a databound server control like detailsview, you auto-magically get the insert behavior you are looking for. If however, you just just want to insert to the ObjectDataSource you have included on your aspx page without using a databound control, you don&#8217;t have a lot of fancy footwork to do. All you have to do is reference the insert parameter by name (or index offset) and assign it directly.</p> <span id="more-23"></span>  <p>Below is an example of how to insert a Role into Membership using the ObjectDataSource developed in a my previous MSDN article <a href="http://peterkellner.net/?p=24">Microsoft ASP.NET 2.0 Member/Role Management with IIS     <br />Part 2: Implementation</a>.</p> <!-- code formatted by http://manoli.net/csharpformat/ --><style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }</style>  <pre class="csharpcode"><span class="kwrd">&lt;</span> %@ Page Language=&quot;C#&quot; <span class="asp">%&gt;</span>
<span class="kwrd">&lt;</span> !DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;<span class="kwrd">&gt;</span>
 
<span class="kwrd">&lt;</span><span class="html">script</span> <span class="attr">runat</span><span class="kwrd">=&quot;server&quot;</span><span class="kwrd">&gt;</span>
<span class="kwrd">protected</span> <span class="kwrd">void</span> Button1_Click(<span class="kwrd">object</span> sender, EventArgs e)
{
  ObjectDataSource1.InsertParameters[<span class="str">&quot;roleName&quot;</span>].DefaultValue =
    TextBoxRole.Text;
  ObjectDataSource1.Insert();
}
<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span>
 
<span class="kwrd">&lt;</span><span class="html">html</span> <span class="attr">xmlns</span><span class="kwrd">=&quot;http://www.w3.org/1999/xhtml&quot;</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">head</span> <span class="attr">runat</span><span class="kwrd">=&quot;server&quot;</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">title</span><span class="kwrd">&gt;</span>AddRoleWithODS.aspx<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">head</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">body</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">form</span> <span class="attr">id</span><span class="kwrd">=&quot;form1&quot;</span> <span class="attr">runat</span><span class="kwrd">=&quot;server&quot;</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">asp</span> <span class="attr">:ObjectDataSource</span> <span class="attr">ID</span><span class="kwrd">=&quot;ObjectDataSource1&quot;</span> <span class="attr">runat</span><span class="kwrd">=&quot;server&quot;</span>
    <span class="attr">InsertMethod</span><span class="kwrd">=&quot;Insert&quot;</span>
    <span class="attr">SelectMethod</span><span class="kwrd">=&quot;GetRoles&quot;</span>
    <span class="attr">TypeName</span><span class="kwrd">=&quot;MembershipUtilities.RoleDataObject&quot;</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">insertparameters</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">asp</span> <span class="attr"> <img src='http://peterkellner.net/wp/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> arameter</span> <span class="attr">Name</span><span class="kwrd">=&quot;roleName&quot;</span> <span class="attr">Type</span><span class="kwrd">=&quot;String&quot;</span> <span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">insertparameters</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">asp</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">asp</span> <span class="attr">:Button</span> <span class="attr">ID</span><span class="kwrd">=&quot;Button1&quot;</span> <span class="attr">runat</span><span class="kwrd">=&quot;server&quot;</span> <span class="attr">Text</span><span class="kwrd">=&quot;Add Role&quot;</span>
    <span class="attr">OnClick</span><span class="kwrd">=&quot;Button1_Click&quot;</span> <span class="kwrd">/&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">asp</span> <span class="attr">:TextBox</span> <span class="attr">ID</span><span class="kwrd">=&quot;TextBoxRole&quot;</span> <span class="attr">runat</span><span class="kwrd">=&quot;server&quot;</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">asp</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">form</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">body</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">html</span><span class="kwrd">&gt;</span></pre>

<p>If you do not want to declaratively define the ObjectDataSource and just want to use it directly, you can do that also. You simply reference the ObjectDataSource by Type and call its insert method. An example of that is below.</p>
<style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }</style>

<pre class="csharpcode"><span class="kwrd">using</span> System;
<span class="kwrd">using</span> System.Web.UI;
<span class="kwrd">using</span> MembershipUtilities;
 
<span class="kwrd">public</span> <span class="kwrd">partial</span> <span class="kwrd">class</span> Default3 : Page
{
  <span class="kwrd">protected</span> <span class="kwrd">void</span> Button1_Click(<span class="kwrd">object</span> sender, EventArgs e)
  {
    RoleDataObject.Insert(TextBox1.Text);
  }
}</pre>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2006/06/07/inserting-programmatically-with-objectdatasource-in-aspnet-20/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Membership Editor Works With Atlas March CTP</title>
		<link>http://peterkellner.net/2006/03/24/membership-editor-works-with-atlas-march-ctp/</link>
		<comments>http://peterkellner.net/2006/03/24/membership-editor-works-with-atlas-march-ctp/#comments</comments>
		<pubDate>Sat, 25 Mar 2006 03:17:20 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=31</guid>
		<description><![CDATA[Membership Editor Works With Atlas March Community Technology Preview IE and Firefox!   In two previous postings I used the January version of Atlas. At MIX06, Microsoft released the next version which is known as the March CTP. I have updated my web demonstration programs to take advantage of the new Atlas. The basic [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Membership Editor Works With </strong><strong>Atlas March Community Technology Preview </strong><strong>IE and Firefox! </strong></p>  <p align="left">In two previous postings I used the January version of Atlas. At MIX06, Microsoft released the next version which is known as the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B01DC501-B3C1-4EC0-93F0-7DAC68D2F787&amp;displaylang=en">March CTP</a>. I have updated my web demonstration programs to take advantage of the new Atlas. The basic difference now is that the demonstrations all now work with Firefox as well as IE. I don&#8217;t know about other browser compatability issues, but I&#8217;d sure like to hear if they work in your browser. The code can be run at the following locations:</p>  <p align="left"><a href="http://livedemos.peterkellner.net/">http://livedemos.peterkellner.net/</a> (using March Atlas)</p>  <p align="left"><a href="http://livedemos.peterkellner.net/DefaultNoAjax.aspx">http://livedemos.peterkellner.net/DefaultNoAjax.aspx</a> (no Atlas, just for comparison)</p>  <p align="left">and demonstrating adding Membership with Personalization information:</p>  <p align="left"><a href="http://livedemos.peterkellner.net/DefaultWithProfile.aspx">http://livedemos.peterkellner.net/DefaultWithProfile.aspx </a></p>  <p>I have not yet posted the code for the working versions of this you can download. I&#8217;m still not happy with part of the solution. Specifically, to make the textbox field you enter the search name into work correctly the changed behavior has to be added. This is done by declaratively putting the following in the asp page of interest.</p> <span id="more-21"></span>  <br /> <pre class="csharpcode">
<span class="kwrd">&lt;</span><span class="html">script</span> <span class="attr">type</span><span class="kwrd">="text/xml-script"</span><span class="kwrd">&gt;</span>
 &lt;page&gt;
  &lt;components&gt;
   &lt;textbox id=<span class="str">"ctl00_ContentPlaceHolder1_TextBoxUserSearch"</span>&gt;
    &lt;behaviors&gt;
     &lt;textchangedbehavior timeout=<span class="str">"100"</span>
          changed=<span class="str">"onTextChange"</span> /&gt;
    &lt;/behaviors&gt;
   &lt;/textbox&gt;
  &lt;/components&gt;
 &lt;/page&gt;
<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span></pre>
<br />
<p>The TextBox is declared in the page as follows:</p>

<br />
<pre class="csharpcode">
<span class="kwrd">&lt;</span><span class="html">asp</span> <span class="attr">:TextBox</span> <span class="attr">ID</span><span class="kwrd">="TextBoxUserSearch"</span>
 <span class="attr">runat</span><span class="kwrd">="server"</span> <span class="attr">AutoPostBack</span><span class="kwrd">="False"</span>
 <span class="attr">CausesValidation</span><span class="kwrd">="True"</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">asp</span><span class="kwrd">&gt;</span></pre>
<br />

<p>And, of course there must be this little picece of script to make to make it work:</p>

<br />

<pre class="csharpcode">
<span class="kwrd">&lt;</span><span class="html">script</span> <span class="attr">type</span><span class="kwrd">="text/javascript"</span><span class="kwrd">&gt;</span>
<span class="kwrd">function</span> onTextChange() {
__doPostBack(<span class="str">'ctl00_ContentPlaceHolder1_GridViewMemberUser'</span>,<span class="str">''</span>) ;
}
<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span></pre>

<br />

<p>The actual javascript that gets invoked is from <a href="http://aspadvice.com/blogs/garbin/default.aspx">Garbin&#8217;s &quot;The Atlas Notes blog&quot;</a>.</p>

<p>The reason the control can be referenced inside a master page is because of the ct100_ContentPlaceHolder_ prefix on the ID. I&#8217;m hoping to find out how to do the above without referencing the control by it&#8217;s strange ID. Anyone knows, please let me know. I&#8217;ll then fix my code and post it for everyone to see. (with a blog entry of course)</p>

<p>Thanks</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2006/03/24/membership-editor-works-with-atlas-march-ctp/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Published in MSDN!</title>
		<link>http://peterkellner.net/2006/01/09/published-in-msdn/</link>
		<comments>http://peterkellner.net/2006/01/09/published-in-msdn/#comments</comments>
		<pubDate>Mon, 09 Jan 2006 21:50:01 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[.Net 2.0]]></category>
		<category><![CDATA[ASP.NET 2.0]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://peterkellner.net/archives/2006/01/09/25/</guid>
		<description><![CDATA[Two Articles on ASP.NET 2.0 Membership Published in MSDN.  (Both can be viewed at this blog)]]></description>
			<content:encoded><![CDATA[<p><span class="style3">MSDN has published both of the articles from this blog in their latest release of MSDN. The articles can be found at the following two URL&#8217;s.</span></p>  <p class="style3">Microsoft ASP.NET 2.0 Member/Role Management with IIS</p>  <p class="style3"><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ASPMemManSec.asp">Part 1: Security and Configuration Overview </a><a href="http://peterkellner.net/archives/2006/01/08/23/">(or Here at peterkellner.net) </a></p>  <p class="style3"><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ASP2memroleman.asp">Part 2: Implementation</a> <a href="http://peterkellner.net/archives/2006/01/09/24/">(or Here at peterkellner.net)</a></p>  <p class="style3">There is no source code with Part 1. The source code for Part 2 can be downloaded from the download section, or go directly to this file:</p>  <p><span class="style3"><a href="http://peterkellner.net/zdm_1_2/index.php?file=6">Source Download Here </a></span></p>  <p>(this source code replaces what was here before. It has many improvements and has been tested with the released VS2005)</p>]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2006/01/09/published-in-msdn/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 4/11 queries in 0.003 seconds using disk

Served from: peterkellner.net @ 2012-02-10 04:33:17 -->
