<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>The Mighty Blog</title><link>http://www.willstrohl.com/Blog/tabid/66/BlogId/1/Default.aspx</link><description>I am a self-proclaimed DotNetNuke Evangelist, but I also use it daily. In the DNN world, I am a programmer, DBA, architect, business analyst, speaker, tutorial writer, administrator, and just overall a DNN junkie... Therefore, you may see a few posts here that are not DNN or .Net related, but for the most part it will be all DNN all day - every day!  Every day is DotNetNuke day!</description><language>en-US</language><managingEditor>wills@strohlsitedesign.com</managingEditor><lastBuildDate>Sat, 21 Nov 2009 18:40:40 PST</lastBuildDate><generator>Blog RSS Generator Version 3.5.1.0</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/willstrohl" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwillstrohl" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwillstrohl" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/willstrohl" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwillstrohl" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fwillstrohl" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwillstrohl" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://my.feedlounge.com/external/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fwillstrohl" src="http://static.feedlounge.com/buttons/subscribe_0.gif">Subscribe with FeedLounge</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fwillstrohl" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Create a Simple and Quick Web Service Handler</title><link>http://feedproxy.google.com/~r/willstrohl/~3/j71Iix9oqRI/Create-a-Simple-and-Quick-Web-Service-Handler.aspx</link><category>ASP.Net Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Wed, 18 Nov 2009 18:45:00 PST</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/520/Create-a-Simple-and-Quick-Web-Service-Handler.aspx</guid><description>&lt;p&gt;There are some cases where a full-blown web service or WCF implementation is just too much for the project you’re working on.  In those times, I often resort to building a similar implementation using an ASP.Net handler to accepts posts, and return data, just like a standard web service would do.  This is not new.  We’ve been doing similar things in Classic ASP and PHP for some time now.  &lt;/p&gt;  &lt;p&gt;I like doing this, because it’s quick, easy, and usually does the job better than a full-fledged web service when this solution fits the project requirements.  Otherwise, this is just stupid! ;)&lt;/p&gt;  &lt;p&gt;For my example, I am going to assume you need a handler or web service to return JSON data for an AJAX request, much like you’d need for a &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; AJAX call.&lt;/p&gt;  &lt;p&gt;In its simplest form, JSON data that is returned as a result of an AJAX request looks something like the example below.  The collection name and values will vary from application to application.  Keeping this example in mind, all you have to do is return a string object to the requesting application.&lt;/p&gt;  &lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;   &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;     &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{ collectionName: [&lt;span style="color: #006080"&gt;'value1'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'value2'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'value3'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'value4'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'value5'&lt;/span&gt;] }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;First thing is first, add a handler to your project.&lt;/p&gt;

&lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Add New Item: Generic Handler" border="0" alt="Add New Item: Generic Handler" src="http://www.willstrohl.com/Portals/1/Blog/Files/9/520/WLW-CreateaSimpleandQuickWebServiceHandler_DFA3-add_handler_3.png" width="504" height="306" /&gt; &lt;/p&gt;

&lt;p&gt;When you add the handler, the HTML markup should be relatively empty.  That is because all of the action happens behind the scenes, in the code.  By default, you will have a class that looks something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/9/520/WLW-CreateaSimpleandQuickWebServiceHandler_DFA3-empty_handler_class_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Empty ASP.Net Handler Class" border="0" alt="Empty ASP.Net Handler Class" src="http://www.willstrohl.com/Portals/1/Blog/Files/9/520/WLW-CreateaSimpleandQuickWebServiceHandler_DFA3-empty_handler_class_thumb.png" width="504" height="225" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;This is a great template to start with for what we’re going to do.  Now, we simply need to add our own logic to return our data.  The format of the data is normally either defined by you, or by the application you’re using or extending.  &lt;/p&gt;

&lt;p&gt;We are going to assume that we are using an AJAX application that expects to receive a collection of names.  We want our resulting JSON data to look like this:&lt;/p&gt;

&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;
  &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{ fullNames: [&lt;span style="color: #006080"&gt;'John Dough'&lt;/span&gt;,&lt;span style="color: #006080"&gt;'Jane Dough'&lt;/span&gt;,&lt;span style="color: #006080"&gt;'Bart Simpson'&lt;/span&gt;,&lt;span style="color: #006080"&gt;'Jon Arbuckle'&lt;/span&gt;,&lt;span style="color: #006080"&gt;'Danger Mouse'&lt;/span&gt;] }&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;First, remove this line of code from your class:&lt;/p&gt;

&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;
  &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;context.Response.Write(&lt;span style="color: #006080"&gt;"Hello World!"&lt;/span&gt;)&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Now, whatever we do with our business logic, we are going to return our JSON string using the &lt;font face="Courier New"&gt;context.Response.Write()&lt;/font&gt; method.&lt;/p&gt;

&lt;p&gt;At this point, we’d already have a Data Source in mind to grab our string-based data.  It doesn’t matter where it comes from.  I can be from another web service, database, XML files, etc.  It doesn’t matter.  All you need to do is feed your data into a string builder of some kind, and return it.&lt;/p&gt;

&lt;p&gt;Here is my example, using a Customer object that gets populated from an imaginary Data Source.&lt;/p&gt;

&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;
  &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; ctlCustomer &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; CustomerController&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;' grab a list of all of the customer&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; lstCustomer &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; List(Of CustomerInfo) = ctlCustomer.GetSortedCustomers()&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; sb &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; StringBuilder&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;sb.Append(&lt;span style="color: #006080"&gt;"{ fullNames:["&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;' Loop through the available customers&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;For&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Each&lt;/span&gt; person &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; CustomerInfo &lt;span style="color: #0000ff"&gt;In&lt;/span&gt; lstCustomer.Values&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Not&lt;/span&gt; &lt;span style="color: #0000ff"&gt;String&lt;/span&gt;.IsNullOrEmpty(person.FullName) &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #008000"&gt;' We need to replace the forward slash and single quotes, or the JavaScript will choke on them.&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        sb.AppendFormat(&lt;span style="color: #006080"&gt;"'{0}',"&lt;/span&gt;, Regex.Replace(person.FullName, &lt;span style="color: #006080"&gt;"([/'])"&lt;/span&gt;, &lt;span style="color: #006080"&gt;"\$0"&lt;/span&gt;))&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Next&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;sb.Append(&lt;span style="color: #006080"&gt;"] }"&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;If&lt;/span&gt; sb.Length &gt; 0 &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    context.Response.Write(sb.ToString)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Else&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    context.Response.Write(&lt;span style="color: #0000ff"&gt;String&lt;/span&gt;.Empty)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;End&lt;/span&gt; If&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In our code snippet, we are using a StringBuilder to create the string output that we’re looking for, using the List object that we loaded from our Data Source.  We simply loop through the collection, adding the customer to the list of full names.  Once the customers are iterated through, the handler writes the resulting string as the response.&lt;/p&gt;

&lt;p&gt;Now that we have that logic, our class should look something like this:&lt;/p&gt;

&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;
  &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Imports&lt;/span&gt; System.Web&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Imports&lt;/span&gt; System.Web.Services&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Class&lt;/span&gt; Handler1&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;Implements&lt;/span&gt; System.Web.IHttpHandler&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;Sub&lt;/span&gt; ProcessRequest(&lt;span style="color: #0000ff"&gt;ByVal&lt;/span&gt; context &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; HttpContext) &lt;span style="color: #0000ff"&gt;Implements&lt;/span&gt; IHttpHandler.ProcessRequest&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        context.Response.ContentType = &lt;span style="color: #006080"&gt;"text/plain"&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; ctlCustomer &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; CustomerController&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #008000"&gt;' grab a list of all of the customer&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; lstCustomer &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; List(Of CustomerInfo) = ctlCustomer.GetSortedCustomers()&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; sb &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;New&lt;/span&gt; StringBuilder&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        sb.Append(&lt;span style="color: #006080"&gt;"{ fullNames:["&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #008000"&gt;' Loop through the available customers&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;For&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Each&lt;/span&gt; person &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; CustomerInfo &lt;span style="color: #0000ff"&gt;In&lt;/span&gt; lstCustomer.Values&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Not&lt;/span&gt; &lt;span style="color: #0000ff"&gt;String&lt;/span&gt;.IsNullOrEmpty(person.FullName) &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                &lt;span style="color: #008000"&gt;' We need to replace the forward slash and single quotes, or the JavaScript will choke on them.&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;                sb.AppendFormat(&lt;span style="color: #006080"&gt;"'{0}',"&lt;/span&gt;, Regex.Replace(person.FullName, &lt;span style="color: #006080"&gt;"([/'])"&lt;/span&gt;, &lt;span style="color: #006080"&gt;"\$0"&lt;/span&gt;))&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Next&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        sb.Append(&lt;span style="color: #006080"&gt;"] }"&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;If&lt;/span&gt; sb.Length &gt; 0 &lt;span style="color: #0000ff"&gt;Then&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            context.Response.Write(sb.ToString)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Else&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            context.Response.Write(&lt;span style="color: #0000ff"&gt;String&lt;/span&gt;.Empty)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;If&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Sub&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;ReadOnly&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Property&lt;/span&gt; IsReusable() &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Boolean&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Implements&lt;/span&gt; IHttpHandler.IsReusable&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;Get&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;Return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;False&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Get&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;End&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Property&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;End&lt;/span&gt; Class&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;That’s all there is to it!  Our resulting response will look exactly like what our AJAX project asked for.  Really simple, right?&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b388118b-a08d-4c30-8685-0051c6dd9aba" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.Net" rel="tag"&gt;ASP.Net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VB.Net" rel="tag"&gt;VB.Net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Handler" rel="tag"&gt;Handler&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JSON" rel="tag"&gt;JSON&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Web+Service" rel="tag"&gt;Web Service&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/j71Iix9oqRI" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=520</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/520/Create-a-Simple-and-Quick-Web-Service-Handler.aspx</feedburner:origLink></item><item><title>Using the Autocomplete jQuery Plugin</title><link>http://feedproxy.google.com/~r/willstrohl/~3/4c9abtXb7qI/Using-the-Autocomplete-jQuery-Plugin.aspx</link><category>Professional Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Wed, 18 Nov 2009 12:06:00 PST</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/519/Using-the-Autocomplete-jQuery-Plugin.aspx</guid><description>&lt;p&gt;In my day job at &lt;a href="http://www.rezhub.com/" target="_blank"&gt;RezHub.com&lt;/a&gt;, we began using &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; last December, and there has been no turning back.  Our site is a &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke&lt;/a&gt; website, and out main module is the one that facilitates the travel searches, such as the one on the &lt;a href="http://www.rezhub.com" target="_blank"&gt;RezHub home page&lt;/a&gt;.  It was originally built by &lt;a href="http://www.arrowdesigns.com" target="_blank"&gt;Arrow Designs&lt;/a&gt;, and has since been maintained by us.  It functions almost exclusively using &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; and various &lt;a href="http://plugins.jquery.com/" target="_blank"&gt;jQuery plugins&lt;/a&gt;, including the &lt;a href="http://www.devbridge.com/projects/autocomplete/jquery/" target="_blank"&gt;Autocomplete plugin&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/3/519/WLW-UsingtheAutocompletejQueryPlugin_C304-rezhub_homepage_travelsearch_module_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="RezHub.com Home Page Screen Shot" border="0" alt="RezHub.com Home Page Screen Shot" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/519/WLW-UsingtheAutocompletejQueryPlugin_C304-rezhub_homepage_travelsearch_module_thumb.png" width="419" height="345" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.devbridge.com/projects/autocomplete/jquery/" target="_blank"&gt;Autocomplete plugin&lt;/a&gt; allows the end-user to begin typing a value for a textbox, and the textbox will suggest values that are acceptable to be entered.  In our case, we are suggesting travel destinations.  This allows for developers to have a real possibility to increase usability on their web forms.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Travel Search Autocomplete Example" border="0" alt="Travel Search Autocomplete Example" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/519/WLW-UsingtheAutocompletejQueryPlugin_C304-travel_search_autocomplete_dropdown_3.png" width="401" height="296" /&gt; &lt;/p&gt;  &lt;p&gt;While the example I am giving you is actually more complicated than the code I will be showing you, the functionality and end-result remain the same.  It is quite simple to wire up a textbox to take advantage of Autocomplete, but there is a little work that you might need to do first.  Make sure that you have the &lt;a href="http://www.devbridge.com/projects/autocomplete/jquery/" target="_blank"&gt;Autocomplete plugin&lt;/a&gt; script (and &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt;) included in your page or module.  &lt;/p&gt;  &lt;p&gt;The first step to making this work is to add the references to your page.  I have blogged about this in various forms in several earlier posts, so I will not rehash it here.  Besides, I have another post planned this week that will rehash it again anyhow. ;)&lt;/p&gt;  &lt;h2&gt;Let’s See it Work&lt;/h2&gt;  &lt;p&gt;After adding the &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; references to your page, this would be a really simple example of using Autocomplete using the following code:&lt;/p&gt;  &lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;   &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;     &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;input&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="txtCity"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="text"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;/&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt; &lt;span style="color: #ff0000"&gt;language&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="javascript"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="text/javascript"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt;     jQuery(document).ready(&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;(){&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; data = &lt;span style="color: #006080"&gt;'Orlando Jacksonville Pensacola Tallahassee Tampa Clearwater Naples Sarasota Miami'&lt;/span&gt;.split(&lt;span style="color: #006080"&gt;' '&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; options = { lookUp: data }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;         jQuery(&lt;span style="color: #006080"&gt;'input#txtCity'&lt;/span&gt;).autocomplete(options);&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;     });&lt;/pre&gt;&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Here is what that might look like:&lt;/p&gt;
&lt;style type="text/css"&gt;


.autocomplete-w1 { background:url(img/shadow.png) no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }
.autocomplete { border:1px solid #999; background:#fff; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px;  _margin:0; _overflow-x:hidden; }
.autocomplete .selected { background:#f0f0f0; }
.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }
.autocomplete strong { font-weight:normal; color:#3399ff; }&lt;/style&gt;&lt;script language="javascript" type="text/javascript" src="http://www.willstrohl.com/Portals/1/jQuery/Autocomplete/jquery.autocomplete.js"&gt;&lt;/script&gt;&lt;script language="javascript" type="text/javascript"&gt;
	jQuery(document).ready(function(){
		var data = 'Orlando Jacksonville Pensacola Tallahassee Tampa Clearwater Naples Sarasota Miami'.split(' ');
		var options = { lookup: data }
		jQuery('input#txtCity').autocomplete(options);
	});
&lt;/script&gt;

&lt;p&gt;City Name: &lt;input id="txtCity" /&gt; (Enter in the first few letters of a city name.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Hint!&lt;/em&gt;&lt;/strong&gt;  Choose one of these cities:  Orlando Jacksonville Pensacola Tallahassee Tampa Clearwater Naples Sarasota Miami&lt;/p&gt;

&lt;p&gt;That seems easy enough, right?  Give it a go!  &lt;/p&gt;

&lt;h3&gt;Using a Web Service&lt;/h3&gt;

&lt;p&gt;The next step is to attach this to a web service to make it use dynamic data.  Assuming that the web service only returns a single string to the Autocomplete, here is how you’d do that:&lt;/p&gt;

&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;
  &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;// imaginary web service returning a list of String&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt; urlService = &lt;span style="color: #006080"&gt;'http://www.domain.com/services/service.svc'&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt; options = { serviceUrl: urlService }&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;jQuery(&lt;span style="color: #006080"&gt;'input#txtCity'&lt;/span&gt;).autocomplete(options);&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;That’s not all that difficult, right?  The second half of the call allows you to call and set optional settings, such as &lt;font face="Courier New"&gt;minChars&lt;/font&gt; to designate how many characters to wait for before the autocomplete task begins.  I will be blogging in greater detail about the web service implementation later.&lt;/p&gt;

&lt;p&gt;Hopefully, that’s enough to get your interest piqued enough to try this on your own.  &lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d525a896-9fe1-4ce4-b152-5f25511460fb" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN+Blogs" rel="tag"&gt;DNN Blogs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/jQuery" rel="tag"&gt;jQuery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.Net" rel="tag"&gt;ASP.Net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Autocomplete" rel="tag"&gt;Autocomplete&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Intellisense" rel="tag"&gt;Intellisense&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/4c9abtXb7qI" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=519</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/519/Using-the-Autocomplete-jQuery-Plugin.aspx</feedburner:origLink></item><item><title>Learn About Using jQuery in DotNetNuke Tomorrow Night</title><link>http://feedproxy.google.com/~r/willstrohl/~3/Km-MWmBV_aY/Learn-About-Using-jQuery-in-DotNetNuke-Tomorrow-Night.aspx</link><category>Professional Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Mon, 16 Nov 2009 07:49:00 PST</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/518/Learn-About-Using-jQuery-in-DotNetNuke-Tomorrow-Night.aspx</guid><description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="jQuery" border="0" alt="jQuery" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/518/WLW-LearnAboutUsingjQueryinDotNetNukeTomorro_93F2-jquery_logo_240x81_3.png" width="244" height="85" /&gt; Tomorrow night I will be in chilly Connecticut to speak to the &lt;a href="http://dnnct.org" target="_blank"&gt;Connecticut DotNetNuke® User Group&lt;/a&gt; (&lt;a href="http://dnnct.org" target="_blank"&gt;DNNCT&lt;/a&gt;) about &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt;.  This is still kind of a new group, in that it’s still finishing its first year of service.  The group is headed up by a well-known &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt; guru, &lt;a href="http://seablick.com" target="_blank"&gt;Tom Kraak&lt;/a&gt;.  Tom was invited to the &lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;ODUG&lt;/a&gt; earlier this year about SEO, so I felt it only appropriate that I return the favor, and tomorrow I do!&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://dnnct.org" target="_blank"&gt;DNNCT&lt;/a&gt; group meeting is in Wallingford for the last time tomorrow (as &lt;a href="http://twitter.com/dnnct/statuses/5656807326" target="_blank"&gt;announced&lt;/a&gt; in their most recent newsletter).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/dnnct/statuses/5656807326" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Connecticut DotNetNuke Newsletter Tweet" border="0" alt="Connecticut DotNetNuke Newsletter Tweet" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/518/WLW-LearnAboutUsingjQueryinDotNetNukeTomorro_93F2-dnnct_200911_newsletter_tweet_3.png" width="504" height="316" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Many people in Florida are already familiar with my &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; talk, as I have given it at a couple of code camps already.  Luckily for the &lt;a href="http://dnnct.org" target="_blank"&gt;DNNCT&lt;/a&gt;, my presentations only get better, so they are in for a treat!&lt;/p&gt;  &lt;p&gt;Here’s what to expect from my talk… &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Short introduction to &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; and its selectors&lt;/li&gt;    &lt;li&gt;Introduction to where &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; is used in DNN&lt;/li&gt;    &lt;li&gt;Introduction on how to incorporate &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; into your DNN development efforts (skins and modules)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Keep in mind that this is a very fluid topic, so this direction might change depending on the level of experience in the audience.  There was a single time where we basically just spoke about &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; selectors.  &lt;/p&gt;  &lt;p&gt;I hope to see you there.  Please visit the &lt;a href="http://dnnct.org" target="_blank"&gt;DNNCT&lt;/a&gt; website for the venue details, but I otherwise expect to see you there tomorrow night at 7pm.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c996b339-7cce-422b-a47d-158b4bb059df" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN+Blogs" rel="tag"&gt;DNN Blogs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Connecticut+DotNetNuke+User+Group" rel="tag"&gt;Connecticut DotNetNuke User Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/User+Group" rel="tag"&gt;User Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/Km-MWmBV_aY" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=518</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/518/Learn-About-Using-jQuery-in-DotNetNuke-Tomorrow-Night.aspx</feedburner:origLink></item><item><title>DotNetNuke Has Many Microsoft MVP’s</title><link>http://feedproxy.google.com/~r/willstrohl/~3/q4sfUaQ8iuQ/DotNetNuke-Has-Many-Microsoft-MVP-rsquo-s.aspx</link><category>Professional Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Fri, 13 Nov 2009 06:49:00 PST</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/517/DotNetNuke-Has-Many-Microsoft-MVP-rsquo-s.aspx</guid><description>&lt;p&gt;With &lt;a href="http://www.cto20.com" target="_blank"&gt;Antonio Chagoury&lt;/a&gt; visiting recently, and the last code camp in Florida wrapping up for the year, I’ve been talking to many Microsoft MVP’s.  As a result of these recent conversations I’ve been having, I was curious…  How many Microsoft MVP’s are there in the &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt; community?  As it turns out, the answer might surprise  you.  I know it did me!&lt;/p&gt;  &lt;p&gt;There are a couple of obvious people in the community that immediately pop into my head when I thought about this, and that’s &lt;strong&gt;Shaun Walker&lt;/strong&gt; and &lt;a href="http://www.techbubble.com" target="_blank"&gt;Nik Kalyani&lt;/a&gt;.  But can you believe that there’s actually 18 MVP’s active in the DNN community?!  That should allow you to rest easy, knowing that when you have a problem, there’s several MVP’s out there helping to create and contribute to DNN.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;At least that’s my count. The number might be higher, as I might have forgotten some names.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I came up with the list below.  Not all of them began in DNN, but they are definitely known to support DNN, speak about DNN, and use it regularly in their development.  This list was created using the &lt;a href="https://mvp.support.microsoft.com/communities/mvp.aspx" target="_blank"&gt;Microsoft MVP website&lt;/a&gt;.  (&lt;em&gt;And these are just quick blurbs about what they do, so information is obviously missing.&lt;/em&gt;)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Antonio.Chagoury" target="_blank"&gt;Antonio Chagoury: Visual Basic: Architecture&lt;/a&gt;       &lt;br /&gt;Antonio is a DNN Core Team member.  His skills span across many areas, but he is also the DNN Blog Module team lead, and helps with the DNN Installer utility. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Brian.Scarbeau" target="_blank"&gt;Brian G. Scarbeau: ASP/ASP.NET: Training&lt;/a&gt;       &lt;br /&gt;Brian primarily does training in the &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt; topic.  He also speaks about DNN, and have co-authored &lt;a href="http://www.amazon.com/gp/product/0470438703?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470438703" target="_blank"&gt;Professional DotNetNuke 5 by Wrox&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile=32D9247E-288A-475B-80BD-579F81CE0771" target="_blank"&gt;Cathal Connolly: ASP/ASP.NET: Development&lt;/a&gt;       &lt;br /&gt;You should definitely be familiar with Cathal.  He leads the effort to maintain the integrity of DNN’s security. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile=92A56DBF-DF12-49DC-846A-96D889B387B5" target="_blank"&gt;Charles Nurse: ASP/ASP.NET&lt;/a&gt;       &lt;br /&gt;Charles is the Senior Engineer for the DNN Corporation.  He has been the primary force behind code development for the core DNN Library. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Chris.Paterra" target="_blank"&gt;Chris Paterra: ASP/ASP.NET: Architecture&lt;/a&gt;       &lt;br /&gt;Chris is my hero!  Not just a Core Team member… He took the fading DNN Forums Module and successfully led his project team to develop a tremendous module.  He also has had his part in 2 DNN books: &lt;a href="http://www.amazon.com/gp/product/0471798436?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0471798436" target="_blank"&gt;DotNetNuke for Dummies&lt;/a&gt;, and &lt;a href="http://www.amazon.com/gp/product/0471788163?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0471788163" target="_blank"&gt;Professional DotNetNuke 4&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Erik.van Ballegoij" target="_blank"&gt;Erik van Ballegoij: ASP/ASP.NET: Development&lt;/a&gt;       &lt;br /&gt;Erik is on the DNN Core Team and leads the Announcements Module.  His duties with DNN also span across the Events and Chat modules as a team sponsor. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Jeff.Cochran" target="_blank"&gt;Jeff Cochran: Internet Information Services: Systems Administration&lt;/a&gt;       &lt;br /&gt;While Jeff’s talents may reside mostly in the IIS side of the house, he is an avid user of DNN and has many live DNN sites out there.  He also spoke about DNN at the first annual &lt;a href="http://dayofdnn.com" target="_blank"&gt;Day of DotNetNuke®&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile=6F33D95A-9330-449D-A946-96BCEF8AC324" target="_blank"&gt;Jon Henning: ASP/ASP.NET&lt;/a&gt;       &lt;br /&gt;We all know Jon from his development efforts on the client-side portions of the DNN core code.  He is also a Core Team Member, and was the Technical Editor for &lt;a href="http://www.amazon.com/gp/product/0470171162?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470171162" target="_blank"&gt;Professional DotNetNuke Module Programming&lt;/a&gt;, &lt;a href="http://www.amazon.com/gp/product/0471788163?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0471788163" target="_blank"&gt;Professional DotNetNuke 4&lt;/a&gt;, and &lt;a href="http://www.amazon.com/gp/product/0470438703?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470438703" target="_blank"&gt;Professional DotNetNuke 5&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile=C0967AF2-5FDD-4ABB-89FA-3ED2947802AB" target="_blank"&gt;Michael Washington: Silverlight: Development&lt;/a&gt;       &lt;br /&gt;Michael is best known for his online module programming tutorials which have gotten most people started with module development in DNN.  He is also a Core Team Member, and a co-author of &lt;a href="http://www.amazon.com/gp/product/190481199X?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=190481199X" target="_blank"&gt;Building Websites with VB.Net and DotNetNuke&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Mitchel.Sellers" target="_blank"&gt;Mitchel Wyndham Sellers: Visual C#: Architecture&lt;/a&gt;       &lt;br /&gt;Mitchel doesn’t need an introduction, does he?  Hehehe…  He has been a formidable force in the Microsoft community in terms of free support on various forums and websites.  He is also the author of &lt;a href="http://www.amazon.com/gp/product/0470171162?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470171162" target="_blank"&gt;Professional DotNetNuke Module Programming&lt;/a&gt;, which has become thee book to have to learn module development. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Nik" target="_blank"&gt;Nik Kalyani: ASP/ASP.NET: Development&lt;/a&gt;       &lt;br /&gt;Nik is a co-founder of the DNN Corporation.  He is the creator of the widget framework in DNN. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Nina" target="_blank"&gt;Nina Meiers: ASP/ASP.NET: Design&lt;/a&gt;       &lt;br /&gt;Nina is one of the best known DNN skinners in the DNN eco-system – especially since she has the single largest repository of free skins. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Leupold" target="_blank"&gt;Sebastian Leupold: ASP/ASP.NET: Architecture&lt;/a&gt;       &lt;br /&gt;Sebastian is a guy who only requires 5 minutes of sleep each day.  You’d think that was true if you seen how much he contributes to the DNN Forums and support system.  He also is a former lead of the Forms and List Module. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile=C6EE9B78-D184-4FF5-96CE-63DAFA61D745" target="_blank"&gt;Shaun Walker: ASP/ASP.NET&lt;/a&gt;       &lt;br /&gt;Shaun = DNN Godfather  ;)  Kiss his ring the next time you see him.  Wait for me to get my camera first though… &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile=1D140711-50D1-4B32-9BD8-C84BE7FC0B3F" target="_blank"&gt;Stan Schultes: Visual Basic: Development&lt;/a&gt;       &lt;br /&gt;Stan speaks about DNN all of the time.  His personal website runs on DNN and has a ton of DNN information as well.  He is a contributing author of &lt;a href="http://www.amazon.com/gp/product/0470438703?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470438703" target="_blank"&gt;Professional DotNetNuke 5&lt;/a&gt;, where he wrote the module development chapters.  Those chapters happen to be my favorite module development tutorial, ever. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Stefan.Kamphuis" target="_blank"&gt;Stefan Kamphuis: ASP/ASP.NET: Development&lt;/a&gt;       &lt;br /&gt;Stefan runs a company that focuses on DNN solutions and is the Chat Module Team lead. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Steve.Fabian" target="_blank"&gt;Steve Fabian: ASP/ASP.NET: Development&lt;/a&gt;       &lt;br /&gt;Steve is the team lead for the Repository Module, and is also a DNN Core Team Member. &lt;/li&gt;    &lt;li&gt;&lt;a href="https://mvp.support.microsoft.com/profile/Masanas" target="_blank"&gt;Vicenc Masanas: ASP/ASP.NET: Development&lt;/a&gt;       &lt;br /&gt;Vicenc is a DNN Core Team Member, where he has focused on the localization and globalization efforts. He also runs DNNJungle, providing free resources to the DNN Community. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Are you impressed?  I know I am…  Congratulations to all of these folks!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c456d556-7646-45dc-9d08-8b4b5616d947" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN+Blogs" rel="tag"&gt;DNN Blogs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MVP" rel="tag"&gt;MVP&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/q4sfUaQ8iuQ" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=517</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/517/DotNetNuke-Has-Many-Microsoft-MVP-rsquo-s.aspx</feedburner:origLink></item><item><title>ODUG Moves Downtown and Has an Outstanding Meeting!</title><link>http://feedproxy.google.com/~r/willstrohl/~3/BprGLbHbvtQ/ODUG-Moves-Downtown-and-Has-an-Outstanding-Meeting.aspx</link><category>Professional Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Thu, 12 Nov 2009 08:04:00 PST</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/516/ODUG-Moves-Downtown-and-Has-an-Outstanding-Meeting.aspx</guid><description>&lt;p&gt;This past Tuesday was a number of things… The Marine Corps birthday, the release of &lt;a href="http://www.modernwarfare2.com" target="_blank"&gt;Modern Warfare 2&lt;/a&gt;, and it was of course the day of our November meeting for the &lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;Orlando DotNetNuke® Users Group&lt;/a&gt; (&lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;ODUG&lt;/a&gt;).  There were many challenges coming into this meeting, which each could possibly ruin the entire meeting.  However, all of those challenges were successfully met and overcome.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:f95f358c-81b5-48f0-af06-ec116fd46d84" class="wlWriterEditableSmartContent"&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/3/516/WLW-ODUGMovesDowntownandHasanOutstandingMeet_8079-IMG_3150-8x6.JPG" title="ODUG After the Meeting: Kurt Amstutz, Mitch Labrador, Antonio Chagoury" rel="thumbnail"&gt;&lt;img border="0" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/516/WLW-ODUGMovesDowntownandHasanOutstandingMeet_8079-IMG_3150_6.png" width="433" height="394" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;h3&gt;So… What Challenges?&lt;/h3&gt;  &lt;p&gt;This meeting had a lot going against it.  Here is a run down of the challenges that we faced:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;We had a new venue.  For anyone that has run any kind of meeting that hosts volunteer attendees, you immediately know that this is a problem.  Your attendance usually drops dramatically for at least 1-2 meetings.  &lt;/li&gt;    &lt;li&gt;With the new venue being in Downtown Orlando, parking is a problem.  There is nearly nowhere that you can park without paying a (premium) fee.  &lt;/li&gt;    &lt;li&gt;Our venue has a security lock on the front door and in the elevator.  I didn’t know this until I got there. &lt;/li&gt;    &lt;li&gt;Our speaker flew in from out of town, and I was making sure he was taken care of. &lt;/li&gt;    &lt;li&gt;We were going to do a live video with &lt;a href="http://blog.theaccidentalgeek.com" target="_blank"&gt;Joe Brinkman&lt;/a&gt; from OpenForce in Las Vegas.  This required us to use a phone to speak with Joe, and for us to show a stream on our projector. &lt;/li&gt;    &lt;li&gt;The projector didn’t work when we first arrived. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you’ve gotten this far, you probably are already thinking what I was… Any &lt;u&gt;ONE&lt;/u&gt; of those bullet points is a huge challenge for a user group meeting, yet we faced all of these challenges in a single night!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://colabusa.com" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="CoLab Orlando" border="0" alt="CoLab Orlando" align="left" src="http://orlando.dotnetnukeug.net/Portals/1/Venues/colab_logo_270x93.png" /&gt;&lt;/a&gt; The new venue was at a company called &lt;a href="http://colabusa.com" target="_blank"&gt;CoLab&lt;/a&gt;.  This place was really cool.  It has all of the room we need right now, and it has all of the bandwidth we need too.  So, in the future we will have plenty of room for &lt;a href="http://orlando.dotnetnukeug.net/ODUGLive.aspx" target="_blank"&gt;our stream&lt;/a&gt; and to allow our members to use the internet connection.  The venue came with free parking, even if it was a 5-minute walk from the building.  I am happy about that for myself, since I don’t walk enough.&lt;/p&gt;  &lt;p&gt;Luckily for me, our user group is full of intelligent and helpful people.  &lt;strong&gt;Sam McCloud&lt;/strong&gt; fixed the projector in short order, and we posted a “door man” in the form of another user group leader, &lt;a href="http://www.glidecomputing.com" target="_blank"&gt;Jim Begley&lt;/a&gt;, of the &lt;a href="http://dotnetnuketampa.com" target="_blank"&gt;Tampa DNN User Group&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Our speaker was &lt;a href="http://www.cto20.com" target="_blank"&gt;Antonio Chagoury&lt;/a&gt; from &lt;a href="http://www.inspectorit.com" target="_blank"&gt;InspectorIT&lt;/a&gt;, who is also a &lt;a href="https://mvp.support.microsoft.com/profile/Antonio.Chagoury" target="_blank"&gt;Microsoft MVP&lt;/a&gt;, and a DNN Core Team Member.  Taking care of him was easy.  I picked him up from the airport, got him checked into his hotel, got him fed, and then took him to the meeting and back.  More on him later…&lt;/p&gt;  &lt;h3&gt;Interview with the DotNetNuke Corporation&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="DotNetNuke" border="0" alt="DotNetNuke" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/516/WLW-ODUGMovesDowntownandHasanOutstandingMeet_8079-DotNetNuke_logo_250x59_3.png" width="250" height="59" /&gt;&lt;/a&gt; Our meeting usually begins with a little bit of an introduction of myself, the other board members, and things going on in the user group.  However, right when we were about to start, &lt;a href="http://blog.theaccidentalgeek.com" target="_blank"&gt;Joe Brinkman&lt;/a&gt; shot me a message saying that he was ready for the streamed interview.  So we stopped everything and we began with the stream.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; display: inline; border-top: 0px; border-right: 0px" title="Joe Brinkman" border="0" alt="Joe Brinkman" align="right" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/516/WLW-ODUGMovesDowntownandHasanOutstandingMeet_8079-JoeBrinkman_wlogos_100x247_3.gif" width="97" height="240" /&gt;The stream couldn’t have went more smoothly!  Joe used &lt;a href="http://www.ustream.tv" target="_blank"&gt;UStream&lt;/a&gt; to broadcast to us, and I asked him questions over the phone.  Live streams generally have a 3-5 second delay, so I immediately had to begin adjusting my conversation style to account for this.  &lt;/p&gt;  &lt;p&gt;Joe first began by giving us a little intro to &lt;a href="http://www.openforce09.com" target="_blank"&gt;OpenForce&lt;/a&gt;, and then showed us all of the DNN vendors on the exhibition floor.  He walked to each booth, introducing us to the people that were there.  Following this, I began interviewing Joe by asking questions about &lt;a href="http://www.openforce09.com" target="_blank"&gt;OpenForce&lt;/a&gt;.  Nearly all of the details are already available online, so I won’t go into the specifics.  Following my questions, I opened the questions to our user group members.  We had some great questions.&lt;/p&gt;  &lt;p&gt;I received nothing but great feedback on the interview from our user group members.  I was incredibly pleased!&lt;/p&gt;  &lt;h3&gt;Antonio Chagoury&lt;/h3&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 5px 5px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Antonio Chagoury" border="0" alt="Antonio Chagoury" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/516/WLW-ODUGMovesDowntownandHasanOutstandingMeet_8079-AntonioChagoury_3.jpg" width="100" height="134" /&gt; We couldn’t have asked for a better speaker and presentation.  Antonio presented a session covering implementing RESTful services into &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt;.  He had demos for &lt;a href="http://twitter.com" target="_blank"&gt;Twitter&lt;/a&gt;, various URL shortening services, and &lt;a href="http://www.bing.com/maps" target="_blank"&gt;Bing maps&lt;/a&gt;!  There were hiccups in the demos, but we always expect that from any technical presentation.  Even the most rehearsed demos have problems.  Other than that, Antonio had a complete mash-up of the previously mentioned services.  They worked great!  His demonstration module could easily be adapted to be a first generation mash-up module for DNN.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:f5fd77dd-72f8-45bb-ab85-edeb9b0ab987" class="wlWriterEditableSmartContent"&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/3/516/WLW-ODUGMovesDowntownandHasanOutstandingMeet_8079-IMG_3144-8x6.JPG" title="Antonio Chagoury presenting to the ODUG" rel="thumbnail"&gt;&lt;img border="0" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/516/WLW-ODUGMovesDowntownandHasanOutstandingMeet_8079-IMG_3144_7.png" width="427" height="369" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Antonio had a ton of questions, and even more information available to us.  Of all of the speakers, he is the first one to have a full circle of people around him asking him questions after his presentation.&lt;/p&gt;  &lt;p&gt;The best thing I loved about his demo is that it could easily have been done on a custom ASP.Net site, instead of DNN.  You didn’t have to be a DNN developer to understand his code demos.&lt;/p&gt;  &lt;p&gt;If you can get Antonio to speak at your user group, book him!  He is a great presenter.&lt;/p&gt;  &lt;h3&gt;After Party&lt;/h3&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 5px 5px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Finnhenry's Downtown Orlando" border="0" alt="Finnhenry's Downtown Orlando" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/515/WLW-ODUGDowntownVenueMeetingDetails_83F7-finhenrys_site_screen_shot_ac3418db-5039-4ea9-855b-ec6e097f46d9.png" /&gt; Usually, we meet about 2 miles away from our meeting a a TGI Fridays.  However, this time we have a great social location on the ground floor of the very building we were meeting in.  We met at &lt;a href="http://www.finnhenrys.com" target="_blank"&gt;Finnhenry’s&lt;/a&gt;.  This place is run by a nice lady named Caitlin, and she gave us a discount and great service!  &lt;/p&gt;  &lt;p&gt;The music was a bit too loud to converse, but we dealt with it.  Their prices are great, and their staff is very helpful and friendly.  You can catch them on their &lt;a href="http://www.facebook.com/home.php#/pages/Orlando-FL/FINNHENRYS-PUBLIC-HOUSE/56235161907?ref=ts" target="_blank"&gt;Facebook page&lt;/a&gt; too.&lt;/p&gt;  &lt;p&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" width="425" height="319" id="qikPlayer" align="middle"&gt;&lt;param name="allowScriptAccess" value="sameDomain" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="movie" value="http://qik.com/swfs/qikPlayer4.swf" /&gt;&lt;param name="quality" value="high" /&gt;&lt;param name="bgcolor" value="#333333" /&gt;&lt;param name="FlashVars" value="rssURL=http://qik.com/video/50d75082d1f640c38dc763e5a908d634.rss&amp;autoPlay=false" /&gt;&lt;embed src="http://qik.com/swfs/qikPlayer4.swf" quality="high" bgcolor="#333333" width="425" height="319" name="qikPlayer" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="rssURL=http://qik.com/video/50d75082d1f640c38dc763e5a908d634.rss&amp;autoPlay=false"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;p&gt;We had a ton of fun at &lt;a href="http://www.finnhenrys.com" target="_blank"&gt;Finnhenry’s&lt;/a&gt;.  We wrapped it all up at 11pm. &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:2bddd613-40c6-4eaa-ad75-27104b125d17" class="wlWriterEditableSmartContent"&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/3/516/WLW-ODUGMovesDowntownandHasanOutstandingMeet_8079-IMG_3160-8x6.JPG" title="Antonio Chagoury spilling his DNN knowledge to the ODUG members" rel="thumbnail"&gt;&lt;img border="0" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/516/WLW-ODUGMovesDowntownandHasanOutstandingMeet_8079-IMG_3160_6.png" width="433" height="394" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Our next meeting is going to be a &lt;a href="http://orlando.dotnetnukeug.net/WhatsNew/Events/tabid/91/ctl/Details/Mid/428/ItemID/136/Default.aspx" target="_blank"&gt;DotNetNuke Speaker Idol&lt;/a&gt; meeting.  See our website for more details.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:68db720a-9d4f-4a9c-8897-6e3f629fa6db" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN+Blogs" rel="tag"&gt;DNN Blogs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OpenForce" rel="tag"&gt;OpenForce&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;,&lt;a href="http://technorati.com/tags/User+Group" rel="tag"&gt;User Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ODUG" rel="tag"&gt;ODUG&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Orlando+DotNetNuke+Users+Group" rel="tag"&gt;Orlando DotNetNuke Users Group&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/BprGLbHbvtQ" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=516</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/516/ODUG-Moves-Downtown-and-Has-an-Outstanding-Meeting.aspx</feedburner:origLink></item><item><title>ODUG Downtown Venue Meeting Details</title><link>http://feedproxy.google.com/~r/willstrohl/~3/bwpRHi9h8Ao/ODUG-Downtown-Venue-Meeting-Details.aspx</link><category>Professional Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Fri, 06 Nov 2009 02:09:00 PST</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/515/ODUG-Downtown-Venue-Meeting-Details.aspx</guid><description>&lt;p&gt;&lt;a href="http://www.willstrohl.comhhttp://orlando.dotnetnukeug.net/WhatsNew/Events/tabid/91/ctl/Details/Mid/428/ItemID/108/Default.aspx" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="Orlando DotNetNuke Users Group - ODUG" border="0" alt="Orlando DotNetNuke Users Group - ODUG" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/515/WLW-ODUGDowntownVenueMeetingDetails_83F7-odug_text_logo_272x67_3.gif" width="272" height="67" /&gt;&lt;/a&gt; I have already told you about the &lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;Orlando DotNetNuke® Users Group&lt;/a&gt; (&lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;ODUG&lt;/a&gt;) meeting details, &lt;strong&gt;on November 10th (this Tuesday)&lt;/strong&gt;.  We will be having an exclusive interview with the members of the &lt;a href="http://www.dotnetnukecorp.com" target="_blank"&gt;DotNetNuke Corporation&lt;/a&gt;, and our speaker will be &lt;a href="http://www.cto20.com" target="_blank"&gt;Antonio Chagoury&lt;/a&gt;.  This meeting is going to be a great one!  What I need to tell you about now is where the meeting is being held, since it’s a new venue.&lt;/p&gt;  &lt;p&gt;Our usual venue is not available for this month’s meeting, but we’re making the best of it.  Our venue this month is going to be at &lt;a href="http://colabusa.com" target="_blank"&gt;CoLab&lt;/a&gt; in Downtown Orlando.  This is a straight shot down the road from our usual venue, literally being on the same street.  All of the details are on the &lt;a href="http://orlando.dotnetnukeug.net/About/Venues/tabid/87/Default.aspx" target="_blank"&gt;Venues page on the ODUG site&lt;/a&gt;, but I will reiterate them here for you now.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;37 North Orange Avenue, Suite 600     &lt;br /&gt;Orlando, FL 32801 (&lt;a href="http://www.bing.com/maps/default.aspx?v=2&amp;FORM=LMLTCP&amp;cp=28.542896~-81.378805&amp;style=r&amp;lvl=15&amp;tilt=-90&amp;dir=0&amp;alt=-1000&amp;phx=0&amp;phy=0&amp;phscl=1&amp;encType=1" target="_blank"&gt;bing map&lt;/a&gt; | &lt;a href="http://maps.google.com/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=37+north+orange+ave,+orlando+fl+32801&amp;sll=37.0625,-95.677068&amp;sspn=31.564064,78.662109&amp;ie=UTF8&amp;ll=28.554144,-81.374617&amp;spn=0.008539,0.019205&amp;z=14&amp;iwloc=A" target="_blank"&gt;google map&lt;/a&gt;)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; display: inline; border-top: 0px; border-right: 0px" title="Finnhenry's Website Screen Shot" border="0" alt="Finnhenry's Website Screen Shot" align="right" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/515/WLW-ODUGDowntownVenueMeetingDetails_83F7-finhenrys_site_screen_shot_ac3418db-5039-4ea9-855b-ec6e097f46d9.png" width="244" height="177" /&gt;The &lt;a href="http://colabusa.com" target="_blank"&gt;CoLab&lt;/a&gt; building is located &lt;u&gt;on the corner of Wall Street and Orange Avenue&lt;/u&gt; in Downtown Orlando.  When you enter the building, &lt;strong&gt;just go to the 6th floor&lt;/strong&gt;.  The meeting room is across from the elevators.  If you’re familiar with the downtown area, the building is &lt;strong&gt;across the street from Tabu Nightclub&lt;/strong&gt;.  The &lt;a href="http://colabusa.com" target="_blank"&gt;CoLab&lt;/a&gt; building has &lt;strong&gt;Subway&lt;/strong&gt; and &lt;a href="http://www.finnhenrys.com/" target="_blank"&gt;Finnhenry’s&lt;/a&gt; on the ground floor.  &lt;/p&gt;  &lt;p&gt;As it turns out, our after meeting social will also be at &lt;a href="http://www.finnhenrys.com/" target="_blank"&gt;Finnhenry’s&lt;/a&gt;.  They will be giving us drink specials.  They have an incredible beer selection too!  (Including my favorite, &lt;a href="http://newcastlebrown.com" target="_blank"&gt;Newcastle Brown Ale&lt;/a&gt;.)&lt;/p&gt;  &lt;h3&gt;Venue Parking&lt;/h3&gt;  &lt;p&gt;Parking in Downtown Orlando is always a concern, as most places charge to park in their lot, and those that don’t usually will tow you away.  Luckily, &lt;a href="http://colabusa.com" target="_blank"&gt;CoLab&lt;/a&gt; comes to the rescue for us with &lt;strong&gt;FREE PARKING just a block from the venue&lt;/strong&gt;!  In order to park there, you need to print out a parking pass and place it on your dashboard.  The parking pass will come to your e-mail in our next newsletter.  &lt;u&gt;Don’t forget it&lt;/u&gt;!&lt;/p&gt;  &lt;p&gt;If you have any other questions, please let me know.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:00cfb9d5-770e-4f9c-b947-1de5c8c9d635" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN+Blogs" rel="tag"&gt;DNN Blogs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Orlando+DotNetNuke+Users+Group" rel="tag"&gt;Orlando DotNetNuke Users Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ODUG" rel="tag"&gt;ODUG&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/bwpRHi9h8Ao" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=515</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/515/ODUG-Downtown-Venue-Meeting-Details.aspx</feedburner:origLink></item><item><title>ODUG Exclusive Interview with DNN Corp at OpenForce 2009</title><link>http://feedproxy.google.com/~r/willstrohl/~3/tGKYDTHiCUM/ODUG-Exclusive-Interview-with-DNN-Corp-at-OpenForce-2009.aspx</link><category>Professional Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Thu, 05 Nov 2009 02:28:00 PST</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/514/ODUG-Exclusive-Interview-with-DNN-Corp-at-OpenForce-2009.aspx</guid><description>&lt;p&gt;&lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="DotNetNuke - web application framework, content management system, CMS" border="0" alt="DotNetNuke - web application framework, content management system, CMS" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/514/WLW-ODUGExclusiveInterviewwithDNNCorpatOpenF_9309-DotNetNuke_logo_250x59_3.png" width="254" height="63" /&gt;&lt;/a&gt;Not everyone can go to &lt;a href="http://www.openforce2009.com" target="_blank"&gt;OpenForce&lt;/a&gt; this year.  Many things might be a factor in that decision.  But if you’re in Central Florida, and not going to &lt;a href="http://www.openforce2009.com" target="_blank"&gt;OpenForce&lt;/a&gt;, you should be coming to the next &lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;Orlando DotNetNuke® Users Group&lt;/a&gt; (&lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;ODUG&lt;/a&gt;) meeting.  Why?  &lt;strong&gt;We will be having special (virtual) guests at the beginning of our next meeting.&lt;/strong&gt;  Who are they?  You name it.  It’s the members of the &lt;a href="http://www.dotnetnukecorp.com" target="_blank"&gt;DotNetNuke Corporation&lt;/a&gt;!  That’s right.  &lt;a href="http://www.openforce2009.com" target="_blank"&gt;OpenForce 2009&lt;/a&gt; is happening next week which happens to be the same time that we are having our meeting.  All of the members of &lt;a href="http://www.dotnetnukecorp.com" target="_blank"&gt;DNN Corp&lt;/a&gt; will be having a dinner at &lt;a href="http://www.openforce2009.com" target="_blank"&gt;OpenForce&lt;/a&gt; at the same time as our meeting, so there’s no telling who we’ll talk to!&lt;/p&gt;  &lt;p&gt;We will be hearing about the &lt;a href="http://www.openforce2009.com" target="_blank"&gt;OpenForce&lt;/a&gt; event from the founders of &lt;a href="http://www.dotnetnukecorp.com" target="_blank"&gt;DNN Corp&lt;/a&gt;.  I don’t know about you, but that’s awesome!  We will not be steaming the interview, so you must be present at the meeting to hear and watch the interview, as well as ask your own questions.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://orlando.dotnetnukeug.net/WhatsNew/Events/tabid/91/ctl/Details/Mid/428/ItemID/108/Default.aspx" target="_blank"&gt;Register for the meeting on the ODUG website&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d8221037-1fbf-46e9-9da4-74a895491d70" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN+Blogs" rel="tag"&gt;DNN Blogs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/OpenForce" rel="tag"&gt;OpenForce&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Orlando+DotNetNuke+Users+Group" rel="tag"&gt;Orlando DotNetNuke Users Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ODUG" rel="tag"&gt;ODUG&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/tGKYDTHiCUM" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=514</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/514/ODUG-Exclusive-Interview-with-DNN-Corp-at-OpenForce-2009.aspx</feedburner:origLink></item><item><title>Relocate Selected Table Row Using jQuery</title><link>http://feedproxy.google.com/~r/willstrohl/~3/dcMsHn9xHnE/Relocate-Selected-Table-Row-Using-jQuery.aspx</link><category>ASP.Net Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Wed, 04 Nov 2009 21:47:00 PST</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/513/Relocate-Selected-Table-Row-Using-jQuery.aspx</guid><description>&lt;p&gt;This blog entry is a response to a request from an earlier blog entry, where I used &lt;a href="http://www.willstrohl.com/Blog/tabid/66/EntryId/494/Using-jQuery-to-Search-an-HTML-Table.aspx" target="_blank"&gt;jQuery to search an HTML table&lt;/a&gt;.  The request as I understand it is this.  How can I allow the website visitor click on a row in a HTML table, and relocate that row to the top of the table?  Even though I cannot think of a use for this functionality myself, I was intrigued.  So here is how I accomplish that task.&lt;/p&gt;  &lt;p&gt;First of all, I needed a table to test this on.  I used the example from the aforementioned post, as shown below:&lt;/p&gt;  &lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;   &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;     &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;table&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="tblCustomer"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;cellspacing&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="0"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;cellpadding&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="2"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;border&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="width: 500px;"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tbody&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt; &lt;span style="color: #ff0000"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="rowHeader"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;style&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="font-weight: bold;"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;First&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Last&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Address&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;City&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;State&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;John&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Dough&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;123 Main Street&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Orlando&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Florida&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Jane&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Dough&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;4367 South Washington Avenue&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Bartow&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;California&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Bart&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Thompson&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;531 Townsend Circle&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Atlanta&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Georgia&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Sherry&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Simpson&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;3346 Presario Lane, Apt. 123&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Seattle&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Washington&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Matt&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Damon&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;300 Pounds Street&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Boston&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Massachusetts&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;td&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tr&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;tbody&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;table&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This table is just a small example of the kind of data you might be working with.  In it, we have a listing of “customers” that are displayed.  Note that there is a header row that gives context to the information in each column.&lt;/p&gt;

&lt;p&gt;The next thing I did was something that I could have and should have done using actual CSS.  I added some visual context to the rows to help you visualize what happened.  I did it this way to make it easier to add to my blog.&lt;/p&gt;

&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;
  &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt; setCssRules() {&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;// this would be better implemented in a CSS file&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    jQuery(&lt;span style="color: #006080"&gt;'#tblCustomer tr:not(\'#rowHeader\')'&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        .css(&lt;span style="color: #006080"&gt;'cursor'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'pointer'&lt;/span&gt;)&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        .mouseover(&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;() {&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            jQuery(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).css(&lt;span style="color: #006080"&gt;'background-color'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'#c0c0c0'&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        })&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        .mouseout(&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;() {&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            jQuery(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).css(&lt;span style="color: #006080"&gt;'background-color'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'#ffffff'&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        });&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Looking at the previous code, I just make the little hand show up when the mouse is over a table row.  Then, I change the background color for each row, depending on if the mouse is over the row or not.&lt;/p&gt;

&lt;p&gt;I used the &lt;font face="Courier New"&gt;jQuery(“#tblCustomer tr:not('#rowHeader')”)&lt;/font&gt; selector to exclude the first row in the table from the interactive changes.&lt;/p&gt;

&lt;p&gt;Next, I add the following &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; snippet that grabs the clicked row and moves it to the top of the table.&lt;/p&gt;

&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;
  &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #008000"&gt;// wire up the logic to make our function work&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;jQuery(&lt;span style="color: #006080"&gt;'#tblCustomer tr:not(\'#rowHeader\')'&lt;/span&gt;).click(&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;() {&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;// get a reference to the chosen row&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; oRow = &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;// remove the row from the table&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    jQuery(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).remove();&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;// add the row to the top of the table&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    jQuery(&lt;span style="color: #006080"&gt;'#tblCustomer'&lt;/span&gt;).prepend(oRow);&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;// backtrack to put the header row back at the top of chosen row&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    jQuery(&lt;span style="color: #006080"&gt;'#rowHeader'&lt;/span&gt;).prependTo(&lt;span style="color: #006080"&gt;'#tblCustomer'&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #008000"&gt;// reset the CSS rules&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    jQuery(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).css(&lt;span style="color: #006080"&gt;'background-color'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'#ffffff'&lt;/span&gt;);&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    setCssRules();&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;});&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Notice that the selector is the same as before.  Moving the row to the top of the table is easy.  However, this table has a header row, so we need to take that into account.  The method I used here allows us to move the header row back to the top after the selected row is moved.  Finally, we fix the CSS to revert back to our original CSS changes.&lt;/p&gt;

&lt;p&gt;Here is the code in action!&lt;/p&gt;

&lt;table style="width: 500px" id="tblCustomer" border="1" cellspacing="0" cellpadding="2"&gt;&lt;tbody&gt;
    &lt;tr style="font-weight: bold" id="rowHeader"&gt;
      &lt;td&gt;First&lt;/td&gt;

      &lt;td&gt;Last&lt;/td&gt;

      &lt;td&gt;Address&lt;/td&gt;

      &lt;td&gt;City&lt;/td&gt;

      &lt;td&gt;State&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td&gt;John&lt;/td&gt;

      &lt;td&gt;Dough&lt;/td&gt;

      &lt;td&gt;123 Main Street&lt;/td&gt;

      &lt;td&gt;Orlando&lt;/td&gt;

      &lt;td&gt;Florida&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td&gt;Jane&lt;/td&gt;

      &lt;td&gt;Dough&lt;/td&gt;

      &lt;td&gt;4367 South Washington Avenue&lt;/td&gt;

      &lt;td&gt;Bartow&lt;/td&gt;

      &lt;td&gt;California&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td&gt;Bart&lt;/td&gt;

      &lt;td&gt;Thompson&lt;/td&gt;

      &lt;td&gt;531 Townsend Circle&lt;/td&gt;

      &lt;td&gt;Atlanta&lt;/td&gt;

      &lt;td&gt;Georgia&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td&gt;Sherry&lt;/td&gt;

      &lt;td&gt;Simpson&lt;/td&gt;

      &lt;td&gt;3346 Presario Lane, Apt. 123&lt;/td&gt;

      &lt;td&gt;Seattle&lt;/td&gt;

      &lt;td&gt;Washington&lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td&gt;Matt&lt;/td&gt;

      &lt;td&gt;Damon&lt;/td&gt;

      &lt;td&gt;300 Pounds Street&lt;/td&gt;

      &lt;td&gt;Boston&lt;/td&gt;

      &lt;td&gt;Massachusetts&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;
&lt;script language="javascript" type="text/javascript"&gt;
        jQuery(document).ready(function() {

            setCssRules();

            // wire up the logic to make our function work
            jQuery('#tblCustomer tr:not(\'#rowHeader\')').click(function() {

                // get a reference to the chosen row
                var oRow = this;
                // remove the row from the table
                jQuery(this).remove();
                // add the row to the top of the table
                jQuery('#tblCustomer').prepend(oRow);
                // backtrack to put the header row back at the top of chosen row
                jQuery('#rowHeader').prependTo('#tblCustomer');
                // reset the CSS rules
                jQuery(this).css('background-color', '#ffffff');
                setCssRules();
            });

        });

        function setCssRules() {
            // this would be better implemented in a CSS file
            jQuery('#tblCustomer tr:not(\'#rowHeader\')')
                .css('cursor', 'pointer')
                .mouseover(function() {
                    jQuery(this).css('background-color', '#c0c0c0');
                })
                .mouseout(function() {
                    jQuery(this).css('background-color', '#ffffff');
                });
        }
    &lt;/script&gt;

&lt;p&gt;That’s it!  I hope this helps you.  Enjoy the complete snippet here:&lt;/p&gt;

&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 500px; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;
  &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&lt;!&lt;/span&gt;&lt;span style="color: #800000"&gt;DOCTYPE&lt;/span&gt; &lt;span style="color: #ff0000"&gt;html&lt;/span&gt; &lt;span style="color: #ff0000"&gt;PUBLIC&lt;/span&gt; &lt;span style="color: #0000ff"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="color: #0000ff"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;html&lt;/span&gt; &lt;span style="color: #ff0000"&gt;xmlns&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;head&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;Untitled&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;&lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt; &lt;span style="color: #ff0000"&gt;language&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="javascript"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="text/javascript"&lt;/span&gt; &lt;span style="color: #ff0000"&gt;src&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="/Resources/shared/scripts/jquery/jquery.min.js"&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt;     &lt;script language=&lt;span style="color: #006080"&gt;"javascript"&lt;/span&gt; type=&lt;span style="color: #006080"&gt;"text/javascript"&lt;/span&gt;&gt;jQuery.noConflict();&lt;/pre&gt;&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; &lt;/head&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; &lt;body&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;     &lt;table id=&lt;span style="color: #006080"&gt;"tblCustomer"&lt;/span&gt; cellspacing=&lt;span style="color: #006080"&gt;"0"&lt;/span&gt; cellpadding=&lt;span style="color: #006080"&gt;"2"&lt;/span&gt; border=&lt;span style="color: #006080"&gt;"1"&lt;/span&gt; style=&lt;span style="color: #006080"&gt;"width: 500px;"&lt;/span&gt;&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;         &lt;tbody&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;             &lt;tr id=&lt;span style="color: #006080"&gt;"rowHeader"&lt;/span&gt; style=&lt;span style="color: #006080"&gt;"font-weight: bold;"&lt;/span&gt;&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt;                 &lt;td&gt;First&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt;                 &lt;td&gt;Last&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt;                 &lt;td&gt;Address&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  10:&lt;/span&gt;                 &lt;td&gt;City&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  11:&lt;/span&gt;                 &lt;td&gt;State&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  12:&lt;/span&gt;             &lt;/tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  13:&lt;/span&gt;             &lt;tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  14:&lt;/span&gt;                 &lt;td&gt;John&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  15:&lt;/span&gt;                 &lt;td&gt;Dough&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  16:&lt;/span&gt;                 &lt;td&gt;123 Main Street&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  17:&lt;/span&gt;                 &lt;td&gt;Orlando&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  18:&lt;/span&gt;                 &lt;td&gt;Florida&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  19:&lt;/span&gt;             &lt;/tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  20:&lt;/span&gt;             &lt;tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  21:&lt;/span&gt;                 &lt;td&gt;Jane&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  22:&lt;/span&gt;                 &lt;td&gt;Dough&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  23:&lt;/span&gt;                 &lt;td&gt;4367 South Washington Avenue&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  24:&lt;/span&gt;                 &lt;td&gt;Bartow&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  25:&lt;/span&gt;                 &lt;td&gt;California&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  26:&lt;/span&gt;             &lt;/tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  27:&lt;/span&gt;             &lt;tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  28:&lt;/span&gt;                 &lt;td&gt;Bart&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  29:&lt;/span&gt;                 &lt;td&gt;Thompson&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  30:&lt;/span&gt;                 &lt;td&gt;531 Townsend Circle&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  31:&lt;/span&gt;                 &lt;td&gt;Atlanta&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  32:&lt;/span&gt;                 &lt;td&gt;Georgia&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  33:&lt;/span&gt;             &lt;/tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  34:&lt;/span&gt;             &lt;tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  35:&lt;/span&gt;                 &lt;td&gt;Sherry&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  36:&lt;/span&gt;                 &lt;td&gt;Simpson&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  37:&lt;/span&gt;                 &lt;td&gt;3346 Presario Lane, Apt. 123&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  38:&lt;/span&gt;                 &lt;td&gt;Seattle&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  39:&lt;/span&gt;                 &lt;td&gt;Washington&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  40:&lt;/span&gt;             &lt;/tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  41:&lt;/span&gt;             &lt;tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  42:&lt;/span&gt;                 &lt;td&gt;Matt&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  43:&lt;/span&gt;                 &lt;td&gt;Damon&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  44:&lt;/span&gt;                 &lt;td&gt;300 Pounds Street&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  45:&lt;/span&gt;                 &lt;td&gt;Boston&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  46:&lt;/span&gt;                 &lt;td&gt;Massachusetts&lt;/td&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  47:&lt;/span&gt;             &lt;/tr&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  48:&lt;/span&gt;         &lt;/tbody&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  49:&lt;/span&gt;     &lt;/table&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  50:&lt;/span&gt;     &lt;script language=&lt;span style="color: #006080"&gt;"javascript"&lt;/span&gt; type=&lt;span style="color: #006080"&gt;"text/javascript"&lt;/span&gt;&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  51:&lt;/span&gt;         jQuery(document).ready(&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;() {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  52:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  53:&lt;/span&gt;             setCssRules();&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  54:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  55:&lt;/span&gt;             &lt;span style="color: #008000"&gt;// wire up the logic to make our function work&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  56:&lt;/span&gt;             jQuery(&lt;span style="color: #006080"&gt;'#tblCustomer tr:not(\'#rowHeader\')'&lt;/span&gt;).click(&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;() {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  57:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  58:&lt;/span&gt;                 &lt;span style="color: #008000"&gt;// get a reference to the chosen row&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  59:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; oRow = &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  60:&lt;/span&gt;                 &lt;span style="color: #008000"&gt;// remove the row from the table&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  61:&lt;/span&gt;                 jQuery(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).remove();&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  62:&lt;/span&gt;                 &lt;span style="color: #008000"&gt;// add the row to the top of the table&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  63:&lt;/span&gt;                 jQuery(&lt;span style="color: #006080"&gt;'#tblCustomer'&lt;/span&gt;).prepend(oRow);&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  64:&lt;/span&gt;                 &lt;span style="color: #008000"&gt;// backtrack to put the header row back at the top of chosen row&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  65:&lt;/span&gt;                 jQuery(&lt;span style="color: #006080"&gt;'#rowHeader'&lt;/span&gt;).prependTo(&lt;span style="color: #006080"&gt;'#tblCustomer'&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  66:&lt;/span&gt;                 &lt;span style="color: #008000"&gt;// reset the CSS rules&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  67:&lt;/span&gt;                 jQuery(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).css(&lt;span style="color: #006080"&gt;'background-color'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'#ffffff'&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  68:&lt;/span&gt;                 setCssRules();&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  69:&lt;/span&gt;             });&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  70:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  71:&lt;/span&gt;         });&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  72:&lt;/span&gt;  &lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  73:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; setCssRules() {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  74:&lt;/span&gt;             &lt;span style="color: #008000"&gt;// this would be better implemented in a CSS file&lt;/span&gt;&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  75:&lt;/span&gt;             jQuery(&lt;span style="color: #006080"&gt;'#tblCustomer tr:not(\'#rowHeader\')'&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  76:&lt;/span&gt;                 .css(&lt;span style="color: #006080"&gt;'cursor'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'pointer'&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  77:&lt;/span&gt;                 .mouseover(&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;() {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  78:&lt;/span&gt;                     jQuery(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).css(&lt;span style="color: #006080"&gt;'background-color'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'#c0c0c0'&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  79:&lt;/span&gt;                 })&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  80:&lt;/span&gt;                 .mouseout(&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;() {&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  81:&lt;/span&gt;                     jQuery(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;).css(&lt;span style="color: #006080"&gt;'background-color'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'#ffffff'&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  82:&lt;/span&gt;                 });&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  83:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;  84:&lt;/span&gt;     &lt;/pre&gt;&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;body&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;&lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;html&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:61fb8012-ecda-484a-ac99-f92137a9bb84" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/jQuery" rel="tag"&gt;jQuery&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/dcMsHn9xHnE" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=513</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/513/Relocate-Selected-Table-Row-Using-jQuery.aspx</feedburner:origLink></item><item><title>Upcoming Speaking Engagements for November 2009</title><link>http://feedproxy.google.com/~r/willstrohl/~3/n_Bqtcnxkqc/Upcoming-Speaking-Engagements-for-November-2009.aspx</link><category>Professional Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Wed, 04 Nov 2009 15:51:00 PST</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/512/Upcoming-Speaking-Engagements-for-November-2009.aspx</guid><description>&lt;p&gt;November is proving to be a busy month for me in all areas of my life.  November 10th is the Marine Corps birthday, but it’s also the day that we have our monthly &lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;Orlando DotNetNuke® Users Group&lt;/a&gt; (&lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;ODUG&lt;/a&gt;) meeting.  Not to mention, this is also the date that my favorite XBox 360 game comes out, &lt;a href="http://www.modernwarfare2.com" target="_blank"&gt;Call of Duty: Modern Warfare 2&lt;/a&gt;.  On 11/19, our &lt;a href="http://www.onetug.org" target="_blank"&gt;ONETUG&lt;/a&gt; President will be out of town, so I will be organizing the monthly &lt;a href="http://www.onetug.org" target="_blank"&gt;Orlando .Net User Group&lt;/a&gt; meeting on my own for the first time.  If those events were not enough, I also am speaking at 3 other events this month!&lt;/p&gt;  &lt;h3&gt;November 7th – Tampa Code Camp (DNN Administration)&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.tampacodecamp.com" target="_blank"&gt;&lt;img style="border-right-width: 0px; margin: 0px 5px 5px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Tampa Code Camp 2009" border="0" alt="Tampa Code Camp 2009" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/503/WLW-DotNetNukeGoodnessatTampaCodeCamp2009_9FBC-tampacc_logo_95x100_937b3e88-683b-46d6-bfec-fb3abaa2c050.gif" /&gt;&lt;/a&gt; The &lt;a href="http://www.tampacodecamp.com/" target="_blank"&gt;Tampa Code Camp&lt;/a&gt; is coming up this weekend!  Tampa has a lot of great developers and other technology enthusiasts.  They also have quite a few authors and MVPs in the area.  This always makes for a great event for those that attend.  That being said, they were generous enough to accept a session from me, even though I put my hat in the mix pretty late.&lt;/p&gt;  &lt;p&gt;I am presenting a session titled, &lt;strong&gt;DotNetNuke 5 Administration: Tips and Tricks&lt;/strong&gt;.  I have done sessions like this in the past.  I plan to do an updated version of what I did last year at &lt;a href="http://www.tampacodecamp.com/" target="_blank"&gt;Tampa Code Camp&lt;/a&gt;.  Basically, I will walk though some of the more common tips and tricks that DNN administrators need to know.  But I am doing something new this time.  I have been ending my sessions with a ton of questions recently.  So, for this session I will be planning a larger block of time for a question and answer period – kind of like a roundtable discussion.&lt;/p&gt;  &lt;p&gt;I hope to see you there!  Register on the &lt;a href="http://www.tampacodecamp.com/" target="_blank"&gt;Tampa Code Camp&lt;/a&gt; website.&lt;/p&gt;  &lt;h3&gt;November 17th – Connecticut DotNetNuke User Group (jQuery)&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://dnnct.org" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Connecticut DotNetNuke User Group" border="0" alt="Connecticut DotNetNuke User Group" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/512/WLW-UpcomingSpeakingEngagementsforNovember20_9891-dnnct_logo_banner_5.png" width="500" height="54" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Earlier this year, &lt;a href="http://seablick.com" target="_blank"&gt;Tom Kraak&lt;/a&gt; paid a very awesome visit to the &lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;ODUG&lt;/a&gt; from Connecticut.  This month, I return the favor by flying up there to talk to the &lt;a href="http://dnnct.org" target="_blank"&gt;Connecticut DNN user group&lt;/a&gt; about using &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; in DNN development.  If you’re interested in &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; at all, this is a great session for you to attend.  All of the concepts that I will be talking about can be easily translated into other development platforms and web projects.  After all, &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; is just JavaScript.  (Really friggin’ cool JavaScript!)&lt;/p&gt;  &lt;p&gt;Go to the &lt;a href="http://dnnct.org" target="_blank"&gt;DNNCT website&lt;/a&gt; for more information.&lt;/p&gt;  &lt;h3&gt;November 24th – Tampa DotNetNuke User Group (DNN Module Administration)&lt;/h3&gt;  &lt;p&gt;One of the newest user groups in the DNN community is the &lt;a href="http://dotnetnuketampa.com" target="_blank"&gt;Tampa DotNetNuke® User Group&lt;/a&gt;.  Their leader is &lt;a href="http://www.glidecomputing.com" target="_blank"&gt;Jim Begley&lt;/a&gt;, of Glide Computing.  (He calls himself a “serial entrepreneur.” It makes me giggle to myself.)  Their first meeting boasted 15 people!  That’s incredible for a niche user group like DNN!  I cannot wait to come to their next user group meeting on the 24th of November.&lt;/p&gt;  &lt;p&gt;I will be speaking about DNN Module Administration.  This session is going to be an overview of managing several of the modules in &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt;.  I am going to go over a small portion of my presentation from &lt;a href="http://www.tampacodecamp.com/" target="_blank"&gt;Tampa Code Camp&lt;/a&gt; to give some background to the rest of this presentation.  I plan on going over the updates to the Admin modules, the new Text/HTML module, and the new Google Analytics module.&lt;/p&gt;  &lt;p&gt;Come out to the &lt;a href="http://dotnetnuketampa.com" target="_blank"&gt;DNN meeting in Tampa&lt;/a&gt; to get all of the DNN goodness that you want!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c53e92dc-5783-4d51-9d3b-629bfd6d2c01" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN+Blogs" rel="tag"&gt;DNN Blogs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/User+Group" rel="tag"&gt;User Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Code+Camp" rel="tag"&gt;Code Camp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tampa+Code+Camp" rel="tag"&gt;Tampa Code Camp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Connecticut+DotNetNuke+User+Group" rel="tag"&gt;Connecticut DotNetNuke User Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tampa+DotNetNuke+User+Group" rel="tag"&gt;Tampa DotNetNuke User Group&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/n_Bqtcnxkqc" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=512</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/512/Upcoming-Speaking-Engagements-for-November-2009.aspx</feedburner:origLink></item><item><title>RezHub Begins a Chat on Twitter, Focuses on Green Topics</title><link>http://feedproxy.google.com/~r/willstrohl/~3/ptTHTQGHCVE/RezHub-Begins-a-Chat-on-Twitter-Focuses-on-Green-Topics.aspx</link><category>Green Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Wed, 28 Oct 2009 13:59:00 PDT</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/511/RezHub-Begins-a-Chat-on-Twitter-Focuses-on-Green-Topics.aspx</guid><description>&lt;p&gt;&lt;a href="http://www.rezhub.com" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="RezHub : Green Travel, Discount Travel, Volunteer Travel" border="0" alt="RezHub : Green Travel, Discount Travel, Volunteer Travel" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-rezhub_logo_web_200x59_3.png" width="200" height="59" /&gt;&lt;/a&gt; Being employed at &lt;a href="http://www.rezhub.com" target="_blank"&gt;RezHub&lt;/a&gt; definitely has its perks.  The biggest perk is that I get to do fun and exciting things for a great company!  One of the most recent things that we just started is moderating a chat using &lt;a href="http://twitter.com" target="_blank"&gt;Twitter&lt;/a&gt;.  I know, I know…  That already sounds odd to you.  A chat on &lt;a href="http://twitter.com" target="_blank"&gt;twitter&lt;/a&gt; is not all that different from a conventional chat room.  With this being our second try at this idea, we feel pretty good about it.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;a href="http://twubs.com/greenchat" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; display: inline; border-top: 0px; border-right: 0px" title="RezHub's GreenChat Twub Page" border="0" alt="RezHub's GreenChat Twub Page" align="right" src="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_fullpage_3.png" width="135" height="244" /&gt;&lt;/a&gt; If you don’t already know, &lt;/em&gt;&lt;a href="http://www.rezhub.com" target="_blank"&gt;&lt;em&gt;RezHub&lt;/em&gt;&lt;/a&gt;&lt;em&gt; is a discount travel provider.  We provide booking options for &lt;/em&gt;&lt;a href="http://www.rezhub.com/Hotels.aspx" target="_blank"&gt;&lt;em&gt;hotels&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, &lt;/em&gt;&lt;a href="http://www.rezhub.com/Car-Rentals.aspx" target="_blank"&gt;&lt;em&gt;rental cars&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, and flights.  Just to give you an idea, even though I work for a travel company, I still pay for travel.  My money is important to me.  Like you, I don’t have an unlimited supply of it.  I always use &lt;/em&gt;&lt;a href="http://www.rezhub.com" target="_blank"&gt;&lt;em&gt;RezHub&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.  I have rarely found another site with a better deal.  Enough of that though…&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;While we provide discount travel, our real passion is to be a socially and ecologically responsible company.  One of the many ways we feel we are accomplishing that is through our &lt;a href="http://twubs.com/greenchat" target="_blank"&gt;#GreenChat&lt;/a&gt;.  Our intention with the &lt;a href="http://twubs.com/greenchat" target="_blank"&gt;green chat&lt;/a&gt; is to provide a forum where like-minded people can share their ideas and opinions about green topics.  Even if you don’t know anything about the green topics we bring up, you can follow the dialogue, and learn more about it.  &lt;strong&gt;You can join our chat every Wednesday at 2pm EST.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In the &lt;a href="http://twitter.com" target="_blank"&gt;twitt&lt;/a&gt; world, this means nothing to you, because you can continue to use &lt;a href="http://twitter.com" target="_blank"&gt;twitter&lt;/a&gt; how you already are, and still participate.  All you need to do is add the following text to the end of your tweets, “#greenchat.”  (Known as a &lt;em&gt;hashtag&lt;/em&gt;.)  Consider the following example:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;It is a great idea to recycle your bottles and cans, even when you’re on vacation. #greenchat&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Today, we spoke about:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Green tips for making Halloween more eco-friendly&lt;/li&gt;    &lt;li&gt;How to be green while staying in a hotel&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.newsweek.com/id/215886" target="_blank"&gt;Newsweek article about companies exploiting green as an angle&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Favorite or new green gadgets&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;We had some great participation, some new followers, and great information.  You can read through the &lt;a href="http://twubs.com/greenchat" target="_blank"&gt;green information and videos that were posted in our twub&lt;/a&gt;.  What’s a twub?  Let me tell you!&lt;/p&gt;  &lt;h3&gt;RezHub Uses Twubs.com&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_media_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="Twubs: Media Section Highlighted" border="0" alt="Twubs: Media Section Highlighted" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_media_thumb.png" width="244" height="183" /&gt;&lt;/a&gt; A cool way that we found to make this more fun is to use a website called &lt;a href="http://twubs.com/greenchat" target="_blank"&gt;Twubs&lt;/a&gt;.  The cool thing about this site is that it’s integrating content from other social sites without any additional effort on your part.  For example, if you post a video from &lt;a href="http://www.vimeo.com" target="_blank"&gt;Vimeo&lt;/a&gt; or &lt;a href="http://www.youtube.com" target="_blank"&gt;YouTube&lt;/a&gt;, it will show up in the media section on your page.&lt;/p&gt;  &lt;p&gt;Additionally, if you use &lt;a href="http://www.twitpic.com" target="_blank"&gt;TwitPic&lt;/a&gt; when posting your pictures, it will pull those to this same media section.  This is an automated process.  All you have to do is what you’re already doing.  Just add “#greenchat” to your tweet.&lt;/p&gt;  &lt;p&gt;I have conversed with the &lt;a href="http://www.twubs.com" target="_blank"&gt;Twubs&lt;/a&gt; staff, because there are other media sources that I prefer over these.  They have plans to integrate more.  So, &lt;a href="http://twubs.com/twubscontact" target="_blank"&gt;contact them&lt;/a&gt; to let them know which ones you like to use.&lt;/p&gt;  &lt;p&gt;Some other cool features would benefit any organization.  Once you get verified, you can rebrand the page (to a point), and you can also add your own logo and description to the hashtag.  Another part of the verification allows you to create and specify aliases to your hashtag.  This is especially useful if your hashtag is easily misspelled.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com" target="_blank"&gt;Twitter&lt;/a&gt; users can tweet directly from the page.  The tweet section allows you tweet directly from the page, inserting shortened links, videos, and pictures.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_tweet_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Twubs: Tweet Section" border="0" alt="Twubs: Tweet Section" src="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_tweet_thumb.png" width="504" height="114" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_members_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="Twubs: Members and Join" border="0" alt="Twubs: Members and Join" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_members_thumb.png" width="244" height="176" /&gt;&lt;/a&gt; Anyone on &lt;a href="http://twitter.com" target="_blank"&gt;twitter&lt;/a&gt; can also join your twub, displaying them as a member on the page.  This is a very visual way for your followers to benefit from participating in your twub.  Unfortunately, the only way to join the twub is through your twub page.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_links_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; display: inline; border-top: 0px; border-right: 0px" title="Twubs: Links Section" border="0" alt="Twubs: Links Section" align="right" src="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_links_thumb.png" width="244" height="194" /&gt;&lt;/a&gt; Your organization can also add related links in the links section.  This is a great way to aggregate one or more links that your twub members might be interested in.&lt;/p&gt;  &lt;p&gt;There are two more options that get even better.  Twubs utilizes a tagging system to help new twubbers find twubs that they might like, or other twubs similar to those that they might already be a member of.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_tags_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Twubs: Tags Section" border="0" alt="Twubs: Tags Section" src="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_tags_thumb.png" width="244" height="66" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_rss_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 5px 5px; display: inline; border-top: 0px; border-right: 0px" title="Twubs: RSS Section" border="0" alt="Twubs: RSS Section" align="right" src="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-twubs_greenchat_rss_thumb.png" width="244" height="241" /&gt;&lt;/a&gt; Finally, there is a feature to consume one or more RSS feeds that your members might enjoy.  For example, you can consume the RSS feed for a related news or blog site.  In my example, you can see our &lt;a href="http://www.rezhub.com/GreenTravel/Green-Travel-Blog.aspx" target="_blank"&gt;Green Travel Blog&lt;/a&gt; feed consumed.&lt;/p&gt;  &lt;p&gt;Pretty cool, huh?  At &lt;a href="http://www.rezhub.com" target="_blank"&gt;RezHub&lt;/a&gt;, we are very excited about social media and the interaction we have with our friends through these various websites.&lt;/p&gt;  &lt;h3&gt;RezHub Social Media Hub&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://www.rezhub.com/Social-Media-Hub.aspx" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="RezHub: Social Media Hub" border="0" alt="RezHub: Social Media Hub" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/12/511/WLW-RezHubBeginsaChatonTwitterFocusesonGreen_E362-rezhub_social_media_hub_3.png" width="133" height="244" /&gt;&lt;/a&gt; We are so excited about our participation with our online friends, that we even created a page on our website that connects all of our social network accounts in a single place.  This is our &lt;a href="http://www.rezhub.com/Social-Media-Hub.aspx" target="_blank"&gt;Social Media Hub on RezHub&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;Check it out and let us know what you think.  I love it!  From a glance, you can see what we’re doing on all of our social sites.  You can see our friends giving information on &lt;a href="http://www.facebook.com/greentravelhub" target="_blank"&gt;our Green Travel Hub Facebook page&lt;/a&gt;, and information on &lt;a href="http://twubs.com/greenchat" target="_blank"&gt;our greenchat twub&lt;/a&gt; as it gets posted to &lt;a href="http://twitter.com" target="_blank"&gt;twitter&lt;/a&gt;.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4f13ca3a-f4e8-48a2-84d9-445ba5a72a2c" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/RezHub" rel="tag"&gt;RezHub&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Green+Travel" rel="tag"&gt;Green Travel&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Green" rel="tag"&gt;Green&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Twubs" rel="tag"&gt;Twubs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Social+Networking" rel="tag"&gt;Social Networking&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Social+Media" rel="tag"&gt;Social Media&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Twitter" rel="tag"&gt;Twitter&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Facebook" rel="tag"&gt;Facebook&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/ptTHTQGHCVE" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=511</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/511/RezHub-Begins-a-Chat-on-Twitter-Focuses-on-Green-Topics.aspx</feedburner:origLink></item><item><title>Southwest Florida Code Camp 2009 Video</title><link>http://feedproxy.google.com/~r/willstrohl/~3/MrGPuq8OSXA/Southwest-Florida-Code-Camp-2009-Video.aspx</link><category>Professional Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Tue, 27 Oct 2009 08:27:00 PDT</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/510/Southwest-Florida-Code-Camp-2009-Video.aspx</guid><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/dpeeast/SouthWest-Florida-CodeCamp-Review-2009-Oct-03/" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="channel_9_swflcc_2009_video" border="0" alt="channel_9_swflcc_2009_video" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/510/WLW-SouthwestFloridaCodeCamp2009Video_D981-channel_9_swflcc_2009_video_3.png" width="244" height="145" /&gt;&lt;/a&gt; Earlier in the month, I spoke about &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt; in 3 different sessions at the Second Annual &lt;a href="http://codecamp.swfldev.net/" target="_blank"&gt;Southwest Florida Code Camp&lt;/a&gt;.  While there our Microsoft Evangelist, &lt;a href="http://www.devfish.net" target="_blank"&gt;Joe Healy&lt;/a&gt;, always does a great job of not only promoting all things Microsoft, but doing so in an engaging manner through interviews, pictures, and video.  He did the same thing for the &lt;a href="http://dayofdnn.com" target="_blank"&gt;Day of DotNetNuke®&lt;/a&gt;, but the video hasn’t been released yet.  &lt;/p&gt;  &lt;p&gt;This time though, I was one of the lucky people to make the final cut of the video.  Even though my son stole the show, I am still glad to make the video.  :)&lt;/p&gt;  &lt;p&gt;I say that, because I brought my son with me to the speaker party, code camp, and after party.  He was wearing the smallest &lt;a href="http://dayofdnn.com" target="_blank"&gt;Day of DotNetNuke®&lt;/a&gt; shirt we ordered – an instant hit!  Check out &lt;a href="http://channel9.msdn.com/posts/dpeeast/SouthWest-Florida-CodeCamp-Review-2009-Oct-03/" target="_blank"&gt;the video that Healy made on the Channel 9 website&lt;/a&gt;.  You will see him and I at 2:06, and he is showing of his DNN shirt with Stan Schultes at 2:28.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6bc93200-9f77-4b2d-b81c-45c68fb39a6f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN+Blogs" rel="tag"&gt;DNN Blogs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Southwest+Florida+Code+Camp" rel="tag"&gt;Southwest Florida Code Camp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Code+Camp" rel="tag"&gt;Code Camp&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Video" rel="tag"&gt;Video&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/MrGPuq8OSXA" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=510</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/510/Southwest-Florida-Code-Camp-2009-Video.aspx</feedburner:origLink></item><item><title>Sharing Sharepoint for the Holidays with Holliday</title><link>http://feedproxy.google.com/~r/willstrohl/~3/WfUe2qN4zgE/Sharing-Sharepoint-for-the-Holidays-with-Holliday.aspx</link><category>Technology Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Fri, 23 Oct 2009 06:37:00 PDT</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/509/Sharing-Sharepoint-for-the-Holidays-with-Holliday.aspx</guid><description>&lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/5/509/WLW-SharingSharepointfortheHolidayswithHolli_855A-onetug_palm_100x134_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="onetug_palm_100x134" border="0" alt="onetug_palm_100x134" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/5/509/WLW-SharingSharepointfortheHolidayswithHolli_855A-onetug_palm_100x134_thumb.gif" width="100" height="134" /&gt;&lt;/a&gt; Well, that’s the title that our Director of Education, James Taylor (JT), at the &lt;a href="http://www.onetug.org" target="_blank"&gt;Orlando .Net User Group&lt;/a&gt; has hashed up.  I like it.  It’s catchy and fun.  December user group meetings tend to fade in terms of attendance, so having a catchy title for the meeting might help.  Anyhow, this meeting is going to be about SharePoint, and is featuring &lt;a href="http://johnholliday.net" target="_blank"&gt;John Holliday&lt;/a&gt;.  If you do not know who John is, he is a &lt;a href="https://mvp.support.microsoft.com/profile/John.Holliday" target="_blank"&gt;Microsoft SharePoint MVP&lt;/a&gt; and author on the topic.&lt;/p&gt;  &lt;p&gt;In doing a bit of research on John, I found that he has not written just one book, but 2 books, and is part of the &lt;a href="http://www.amazon.com/gp/product/0470431946?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470431946" target="_blank"&gt;Microsoft SharePoint 2007 Wrox Box&lt;/a&gt;.  Here is a run down of the books that he’s written and co-written:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/0470287624?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470287624" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Wrox Professional SharePoint 2007 Records Management Development" border="0" alt="Wrox Professional SharePoint 2007 Records Management Development" src="http://www.willstrohl.com/Portals/1/Blog/Files/5/509/WLW-SharingSharepointfortheHolidayswithHolli_855A-Wrox_Pro_SharePoint_2007_3.jpg" width="195" height="244" /&gt;&lt;/a&gt;  &lt;a href="http://www.amazon.com/gp/product/0470117567?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470117567" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Wrox Professional SharePoint 2007 Development" border="0" alt="Wrox Professional SharePoint 2007 Development" src="http://www.willstrohl.com/Portals/1/Blog/Files/5/509/WLW-SharingSharepointfortheHolidayswithHolli_855A-Wrox_Pro_SharePoint_2007_Development_3.jpg" width="194" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/0470431946?ie=UTF8&amp;tag=themigblo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0470431946" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="Microsoft SharePoint 2007 Wrox Box" border="0" alt="Microsoft SharePoint 2007 Wrox Box" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/5/509/WLW-SharingSharepointfortheHolidayswithHolli_855A-Wrox_SharePoint_WroxBox_3.jpg" width="244" height="183" /&gt;&lt;/a&gt;If you’re not impressed with John already, I don’t know what will impress you.  :)  Maybe these other details will help…&lt;/p&gt;  &lt;p&gt;John is a graduate of Harvard and has been developing software for over 25 years.  Some of his clients include IBM, Kodak, and AutoDesk.  He created a specialized computing language for constructing legal expert systems.  In his spare time, he co-founded the &lt;a href="http://www.worksofwonder.org" target="_blank"&gt;Works of Wonder International&lt;/a&gt; and the &lt;a href="http://www.artofliving.org" target="_blank"&gt;Art of Living Foundation&lt;/a&gt; with his wife.&lt;/p&gt;  &lt;p&gt;Come on…  You’re impressed now, right?&lt;/p&gt;  &lt;p&gt;We are not yet sure what his session at the &lt;a href="http://www.onetug.org" target="_blank"&gt;ONETUG&lt;/a&gt; will be focused on yet, but I will let you know when I find out.  Until then, mark your calendars for &lt;a href="http://johnholliday.net" target="_blank"&gt;John Holliday's&lt;/a&gt; session on December 17, 2009.  It is sure to be a great time!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e14f05dc-84b1-425c-bcd6-22a35a96737d" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Orlando+.Net+User+Group" rel="tag"&gt;Orlando .Net User Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ONETUG" rel="tag"&gt;ONETUG&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Community" rel="tag"&gt;Community&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Events" rel="tag"&gt;Events&lt;/a&gt;,&lt;a href="http://technorati.com/tags/User+Group" rel="tag"&gt;User Group&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/WfUe2qN4zgE" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=509</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/509/Sharing-Sharepoint-for-the-Holidays-with-Holliday.aspx</feedburner:origLink></item><item><title>Full Disclosure About The Mighty Blog My Social Networks and Their Content</title><link>http://feedproxy.google.com/~r/willstrohl/~3/rcloCmoeeJY/Full-Disclosure-About-The-Mighty-Blog-My-Social-Networks-and-Their-Content.aspx</link><category>Personal Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Thu, 22 Oct 2009 02:53:00 PDT</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/508/Full-Disclosure-About-The-Mighty-Blog-My-Social-Networks-and-Their-Content.aspx</guid><description>&lt;p&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/2/508/WLW-FullDisclosureAboutmyBlogandItsContent_EFF9-willstrohl_ss_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="WillStrohl.com website screen shot" border="0" alt="WillStrohl.com website screen shot" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/2/508/WLW-FullDisclosureAboutmyBlogandItsContent_EFF9-willstrohl_ss_thumb.png" width="244" height="220" /&gt;&lt;/a&gt; In light of the recent changes in laws by the FTC, I felt that I should clean my slate to let you know about any and all compensation that I might be receiving for my content, links, words, and remarks.  This includes, my blog, and my social network profiles.  Even though I am legally obligated to mention these details going forward, you have no idea about my previous content, unless I have explicitly told you.  (Something I try to remember to do anyway for credibility’s sake.)&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I do not receive any compensation directly for any of my blog posts, but I do have relationships with certain vendors and companies.  For example, my full-time job is with &lt;a href="http://www.rezhub.com" target="_blank"&gt;RezHub&lt;/a&gt;, where we focus on &lt;a href="http://www.rezhub.com/Green-Travel.aspx" target="_blank"&gt;green travel&lt;/a&gt;.  However, I do not get any extra compensation or benefits from mentioning them or linking to the &lt;a href="http://www.rezhub.com" target="_blank"&gt;RezHub&lt;/a&gt; website.  Whenever I announce anything about &lt;a href="http://www.rezhub.com" target="_blank"&gt;RezHub&lt;/a&gt;, it is simply because I am excited about it.  &lt;/p&gt;  &lt;p&gt;This is the trend for nearly all of my blog posts…  If I mention an event, product, service, or company, there’s reason other than compensation for it.  I do not mention a product or company unless it falls under one or more of the criteria below:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The product/service is highly trendy or popular &lt;/li&gt;    &lt;li&gt;I have a highly positive experience with the product/service &lt;/li&gt;    &lt;li&gt;I have a highly negative experience with the product/service &lt;/li&gt;    &lt;li&gt;I am a user/customer of the product/service, and I encounter and fix a problem with it &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;font size="2"&gt;That being said, I am not opposed to blogging about a product, company, or service for compensation.  But I will stick to my guns in terms of being honest.  I will not say something positive about a product without believing in that product myself.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;I am going to list the other companies that I have mentioned and have a relationship with, and an explanation of that relationship.  But before you read the list, know this…  I disclose to everyone I talk about that I will be brutally honest.  If there is something I do not like about your product or service, and I think that it would be valuable to my readers, then I am going to mention it.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.appliedi.net" target="_blank"&gt;Applied Innovations&lt;/a&gt;:  Applied Innovations is my web host.  They provided sponsored hosting to myself, and the &lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;ODUG&lt;/a&gt; of which I am currently the President.  As a result, they also host the &lt;a href="http://dayofdnn.com" target="_blank"&gt;Day of DotNetNuke®&lt;/a&gt; and other user groups that the &lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;ODUG&lt;/a&gt; hosts.  However, there is no other compensation.  This relationship is primarily a sponsorship agreement. &lt;/li&gt;    &lt;li&gt;&lt;u&gt;Banner Advertisers&lt;/u&gt;:  I have advertisers on my site.  At this time, all of them are either affiliate agreements, or direct banner advertisers.  None of them compensate me for mentioning their website, products, or services.  This includes companies such as &lt;a href="http://www.dnnspired.com" target="_blank"&gt;DNNSpired&lt;/a&gt;, &lt;a href="http://geekswithblogs.net/bscarbeau" target="_blank"&gt;Brian Scarbeau&lt;/a&gt;, &lt;a href="http://www.snapsis.com" target="_blank"&gt;Snapsis&lt;/a&gt;, and &lt;a href="http://www.dnn-blogs.com" target="_blank"&gt;Catalook&lt;/a&gt;.  &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt;:  I am not directly affiliated with the &lt;a href="http://www.dotnetnukecorp.com" target="_blank"&gt;DotNetNuke Corporation&lt;/a&gt; in any way, other than being on the Media Module Project Team.  I do not receive any compensation from the &lt;a href="http://www.dotnetnukecorp.com" target="_blank"&gt;DotNetNuke Corporation&lt;/a&gt; at all for my blog content.  I just really love and am passionate about their open source project. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt;:  This is the same explanation as &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt;, but I am not participating in any of their projects. &lt;/li&gt;    &lt;li&gt;&lt;u&gt;Microsoft&lt;/u&gt;:  I am an avid user and developer using Microsoft technologies.  However, I do not receive any direct compensation from Microsoft.  The closest I have been to receiving compensation was receiving a free ticket to a conference. &lt;/li&gt;    &lt;li&gt;&lt;u&gt;DNN Eco-System Vendors&lt;/u&gt;:  There are many companies operating within the DNN eco-system.  I have personal relationships with many of them.  Also, because I was the organizer of the &lt;a href="http://dayofdnn.com" target="_blank"&gt;Day of DotNetNuke®&lt;/a&gt;, I received compensation in the form of sponsorship to that event.  I have not received any other compensation outside of that context. &lt;/li&gt;    &lt;li&gt;&lt;u&gt;DNN Module Developers/Companies&lt;/u&gt;:  Keeping the previous point in mind, I also get many requests to look at someone’s module or provider.  A person who works for themselves or a company will ask me to take a look at their product, and tell them what I think.  In most cases, this “review” is intended to be kept offline – meaning that it was a confidential review.  This scenario happens at least a couple of times a month.       &lt;br /&gt;In other cases, I might be asked to post a review of the product.  An example would be the &lt;a href="http://www.inspectorit.com/products/dnn-modules/dnn-universal-tag-cloud.aspx" target="_blank"&gt;Tag Cloud Module&lt;/a&gt; by &lt;a href="http://www.inspectorit.com" target="_blank"&gt;Inspector IT&lt;/a&gt;.  I do not really look at this as compensation though, because in order for me to install the module legally, I need to have a license to use the module, which is obviously provided to me.  And once again, I disclose that I will be brutally honest.  If I don’t like something about the module, I will say it.  This is not as common, and I do disclose how I am compensated.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.wrox.com" target="_blank"&gt;Wrox (Wiley Publishing)&lt;/a&gt;:  It’s no secret that I did some technical editing for the folks at Wrox.  It was a great experience that I got paid for.  But I have not received any other incentives or compensation from them.  I have, however, received books to give away to the &lt;a href="http://orlando.dotnetnukeug.net" target="_blank"&gt;ODUG&lt;/a&gt; members as door prizes at our user group meetings.  They do not sponsor any of the content or links that I post. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="2"&gt;That’s about it.  If I think of any other relationships I have with a commercial product, service, or company, I will leave a comment here.  Additionally, if you know of one that I missed, feel free to call me out in the comments below.  ;)&lt;/font&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:58224fb6-bbb8-44c0-ba6e-240243f3f787" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/FTC" rel="tag"&gt;FTC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Disclosure" rel="tag"&gt;Disclosure&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Blog" rel="tag"&gt;Blog&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Blogging" rel="tag"&gt;Blogging&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Social+Media" rel="tag"&gt;Social Media&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/rcloCmoeeJY" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=508</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/508/Full-Disclosure-About-The-Mighty-Blog-My-Social-Networks-and-Their-Content.aspx</feedburner:origLink></item><item><title>RezHub’s 2009 Dream Green Travel Giveaway Ending Soon</title><link>http://feedproxy.google.com/~r/willstrohl/~3/VOK-LcZnnko/RezHub-rsquo-s-2009-Dream-Green-Travel-Giveaway-Ending-Soon.aspx</link><category>Travel Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Tue, 20 Oct 2009 03:51:00 PDT</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/507/RezHub-rsquo-s-2009-Dream-Green-Travel-Giveaway-Ending-Soon.aspx</guid><description>&lt;p&gt;&lt;a href="http://dreamgreen2009.com" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="RezHub-Last-Chance-Giveaway" border="0" alt="RezHub-Last-Chance-Giveaway" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/7/507/WLW-RezHubs2009DreamGreenTravelGiveawayEndin_8E05-RezHub-Last-Chance-Giveaway_3.jpg" width="244" height="204" /&gt;&lt;/a&gt; One of things I love about my day job, is that it affords me the opportunity to bring great content to you through my blog, and the user groups and code camps I participate in.  At &lt;a href="http://www.rezhub.com" target="_blank"&gt;RezHub&lt;/a&gt;, we recognize that we have gained a lot through the use of open source software, such as &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt;.  This allows us to give back by affording me a bit of time here and there to address my blog, the &lt;a href="http://forums.dotnetnuke.com" target="_blank"&gt;DotNetNuke® Forums&lt;/a&gt;, and so on.&lt;/p&gt;  &lt;p&gt;Our business plan allows us to also give back in other ways: through &lt;a href="http://www.rezhub.com/Volunteer-Travel.aspx" target="_blank"&gt;volunteering&lt;/a&gt;, &lt;a href="http://www.rezhub.com/GreenTravel/Give-Back.aspx" target="_blank"&gt;donating 20% of our profits&lt;/a&gt;, and through our annual &lt;a href="http://dreamgreen2009.com" target="_blank"&gt;Dream Green Giveaway&lt;/a&gt;!  This contest has been incredibly successful.  Last year, we gave away a trip to the &lt;a href="http://www.rezhub.com/Hotels/HotelOverview/tabid/324/hotelId/11381868/hotel/Hacienda%20Tres%20Rios%20All%20Inclusive/Default.aspx" target="_blank"&gt;Haceinda Tres Rios Resort&lt;/a&gt; in &lt;a href="http://www.rezhub.com/Hotels/tabid/236/all/true/country/MX/city/Playa+Del+Carmen/Default.aspx" target="_blank"&gt;Playa Del Carmen, Mexico&lt;/a&gt;.  This year, the &lt;a href="http://dreamgreen2009.com" target="_blank"&gt;Dream Green Giveaway&lt;/a&gt; sends you to Hawaii!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; padding-top: 0px" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:a5740343-3a1a-406e-a3e1-437a027c6621" class="wlWriterEditableSmartContent"&gt;&lt;a href="http://www.willstrohl.com/Portals/1/Blog/Files/7/507/WLW-RezHubs2009DreamGreenTravelGiveawayEndin_8E05-PacificBeachHotel_Room_View-8x6.jpg" title="Pacific Beach Hotel: Room View" rel="thumbnail"&gt;&lt;img border="0" src="http://www.willstrohl.com/Portals/1/Blog/Files/7/507/WLW-RezHubs2009DreamGreenTravelGiveawayEndin_8E05-PacificBeachHotel_Room_View_10.png" width="345" height="284" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;a href="http://www.rezhub.com" target="_blank"&gt;RezHub&lt;/a&gt; has been the leader in &lt;a href="http://www.rezhub.com/Green-Travel.aspx" target="_blank"&gt;green travel&lt;/a&gt; since we started.  To highlight this, we began our &lt;a href="http://dreamgreen2009.com" target="_blank"&gt;Dream Green Giveaway&lt;/a&gt;.  Now, we are sending our winners to beautiful &lt;a href="http://www.rezhub.com/Hotels/HotelOverview/tabid/324/hotelId/10068939/hotel/Pacific%20Beach%20Hotel/Default.aspx" target="_blank"&gt;Pacific Beach Hotel&lt;/a&gt; in Honolulu.  The &lt;a href="http://www.rezhub.com/Hotels/HotelOverview/tabid/324/hotelId/10068939/hotel/Pacific%20Beach%20Hotel/Default.aspx" target="_blank"&gt;Pacific Beach Hotel&lt;/a&gt; happens to have a 4 out of 5 &lt;a href="http://www.rezhub.com/GreenTravel/Green-Hotel-Scores.aspx" target="_blank"&gt;green branch ranking&lt;/a&gt; at &lt;a href="http://www.rezhub.com" target="_blank"&gt;RezHub&lt;/a&gt;.  That’s an amazing feat for any hotel.  You can stay in a luxurious hotel overlooking the beautiful ranges and beaches in Honolulu, a free rental car, and you will still be experiencing a &lt;a href="http://www.rezhub.com/Green-Travel.aspx" target="_blank"&gt;green vacation&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;So, what are you waiting for?  Check out our &lt;a href="http://dreamgreen2009.com" target="_blank"&gt;Dream Green Giveaway&lt;/a&gt; website for more details so &lt;u&gt;&lt;strong&gt;you could be the next winner&lt;/strong&gt;&lt;/u&gt;!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:022d91b5-ab43-4945-95bf-8bde8d7b6ed1" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Travel" rel="tag"&gt;Travel&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Green+Travel" rel="tag"&gt;Green Travel&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Hawaii" rel="tag"&gt;Hawaii&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Honolulu" rel="tag"&gt;Honolulu&lt;/a&gt;,&lt;a href="http://technorati.com/tags/RezHub" rel="tag"&gt;RezHub&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Dream+Green" rel="tag"&gt;Dream Green&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/VOK-LcZnnko" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=507</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/507/RezHub-rsquo-s-2009-Dream-Green-Travel-Giveaway-Ending-Soon.aspx</feedburner:origLink></item><item><title>Lightbox Gallery Module Version 1.00.05 Released</title><link>http://feedproxy.google.com/~r/willstrohl/~3/vJRHUBpodpI/Lightbox-Gallery-Module-Version-1-00-05-Released.aspx</link><category>Professional Edition</category><author>wills@strohlsitedesign.com</author><pubDate>Tue, 20 Oct 2009 02:54:00 PDT</pubDate><guid isPermaLink="false">http://www.willstrohl.com/Blog/tabid/66/EntryId/506/Lightbox-Gallery-Module-Version-1-00-05-Released.aspx</guid><description>&lt;p&gt;&lt;a href="http://wnslightbox.codeplex.com" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="Lightbox Gallery Module for DotNetNuke" border="0" alt="Lightbox Gallery Module for DotNetNuke" align="left" src="http://www.willstrohl.com/Portals/1/Blog/Files/3/506/WLW-LightboxGalleryModuleVersion1.05Released_890C-wnslightbox_viewpicture_600x454_3.png" width="244" height="186" /&gt;&lt;/a&gt; I know a few of you have become fans of the &lt;a href="http://wnslightbox.codeplex.com" target="_blank"&gt;Lightbox Gallery Module&lt;/a&gt; that I released a couple of months ago.  I think that is really cool – especially since it was just created as a proof of concept for a &lt;a href="http://www.dotnetnuke.com" target="_blank"&gt;DotNetNuke®&lt;/a&gt; presentation I gave at &lt;a href="http://www.jaxcodecamp.com" target="_blank"&gt;Jacksonville Code Camp&lt;/a&gt; this year.  I never intended for it to be a production module.  I was only trying to highlight a few methods of integrating &lt;a href="http://www.jquery.com" target="_blank"&gt;jQuery&lt;/a&gt; into a DNN module.&lt;/p&gt;  &lt;p&gt;The last version of the module was 1.00.04, and had an unfortunate flaw.  The manifest file was not updated properly.  The end result was that this module would install just fine and have no errors.  Additionally, there were no errors when the module was added to the page.  However, the module would not be shown on the page when you chose to do so.  This was due to a mistake in the manifest file.&lt;/p&gt;  &lt;p&gt;I am very happy to announce that the manifest file has been fixed.  The newest version of this module is now available on the &lt;a href="http://wnslightbox.codeplex.com" target="_blank"&gt;Lightbox Gallery module&lt;/a&gt; site on &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt;.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:57c87096-38f4-4c7f-8978-25953ddec6b0" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN" rel="tag"&gt;DNN&lt;/a&gt;,&lt;a href="http://technorati.com/tags/DNN+Blogs" rel="tag"&gt;DNN Blogs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Modules" rel="tag"&gt;Modules&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Lightbox" rel="tag"&gt;Lightbox&lt;/a&gt;,&lt;a href="http://technorati.com/tags/jQuery" rel="tag"&gt;jQuery&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/willstrohl/~4/vJRHUBpodpI" height="1" width="1"/&gt;</description><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.willstrohl.com/DesktopModules/Blog/Trackback.aspx?id=506</trackback:ping><feedburner:origLink>http://www.willstrohl.com/Blog/tabid/66/EntryId/506/Lightbox-Gallery-Module-Version-1-00-05-Released.aspx</feedburner:origLink></item></channel></rss>
