The HTML text

<html> <head> <TITLE>4GuysFromRolla.com</TITLE> <LINK REL="Bookmark Icon" HREF="/favicon.ico"> <META NAME="title" CONTENT="4GuysFromRolla.com"> <META NAME="description" CONTENT="4Guys is an online resource site for ASP and ASP.NET information!"> <META NAME="channel" CONTENT="Windows Technology"> <META NAME="author" CONTENT="Scott Mitchell"> <META NAME="keywords" CONTENT="ASP Web technology Microsoft asp, asp.net, sql, javascript, vbscript, database, date, .net, array, validation, code, request.servervariables, server.mappath, xmlhttp, guys from rolla, css buttons, sql injection, datagrid paging, microsoft.xmlhttp, sql case, stored procedure, 4guysfromrolla, adovbs.inc, 4guysfromrolla.com, asp date functions, asp.net interview questions, microsoft interview questions, vbscript date"> <link rel="alternate" type="application/rss+xml" title="4GuysFromRolla.com Headlines" href="http://aspnet.4guysfromrolla.com/rss/rss.aspx"> <link rel="stylesheet" HREF="/css/text.css" TYPE="text/css"> <link rel="search" type="application/opensearchdescription+xml" href="/OpenSearch.xml" title="4Guys Search"> </head> <body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" rightmargin="0" bgcolor="#FFFFFF" > <script language="JavaScript"> <!-- This script and many more are available free online at --> <!-- The JavaScript Source!! http://javascript.internet.com --> <!-- Original: David Sosnowski (support@codefoot.com) --> <!-- Web Site: http://www.codefoot.com --> <!-- Begin function blockError(){return true;} window.onerror = blockError; // End --> </script> <script language="javascript" src="/include/4guysads_home.js"></script> <center><!-- house_ribbon ad tag --> <script language="javascript"> <!-- OAS_AD('house_ribbon'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!house_ribbon"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!house_ribbon" border="0"></a></noscript> <!-- /house_ribbon ad tag --> </center> <table width="100%" cellpadding="4" cellspacing="0" border="0"> <tr><td align="center"><!-- 468x60-1 ad tag --> <script language="javascript"> <!-- OAS_AD('468x60-1'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!468x60-1"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!468x60-1" border="0"></a></noscript> <!-- /468x60-1 ad tag --> </td></tr> </table> &nbsp;&nbsp;<font face="verdana" style="font-size: 10pt; font-weight: bold; color: #336666">When you think ASP, think...</font> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td background="/img/top-bg.gif" width="1%"><a href="http://www.4guysfromrolla.com/"><img src="/img/4guyslogo.gif" width="405" height="85" border="0" vspace="0" hspace="0"></a></td> <td background="/img/top-bg.gif" width="99%"> <table width="100%" cellpadding="0" border="0" cellspacing="0" background> <tr> <td background><img src="/img/sp.gif" width="1" height="20" border="0" alt vspace="0" hspace="0"></td> </tr> <tr> <td background valign="top"> <table cellpadding="0" border="0" background="0"> <tr><form method="post" action="http://search.internet.com/query"> <td><img src="/img/search.gif" width="71" height="25" border="0" vspace="0" hspace="0"></td> <td align="right"> <input type="hidden" name="IC_Summary" value="1"> <input type="hidden" name="IC_StartNumber" value="0"> <input type="hidden" name="IC_BatchSize" value="10"> <input type="hidden" name="IC_RelevanceThreshold" value="50"> <input type="hidden" name="IC_QueryDatabase" value="www.4guysfromrolla.com"> <input type="text" name="IC_QueryText" style="font-size: 7pt; width: 100px; height: 16px;" vspace="0" hspace="0"></td> <td align="left"><input type="image" src="/img/go-green.gif" vspace="0" hspace="0" border="0" name="submit"></td> <td><a href="http://www.4guysfromrolla.com/search/"><img src="/img/advanced-search.gif" width="65" height="25" border="0" vspace="0" hspace="0"></a></td> </tr></form> </table> </td> </tr> <tr> <td background><img src="/img/sp.gif" width="1" height="20" border="0" alt vspace="0" hspace="0"></td> </tr> </table> </td> </tr> </table> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td width="1%" background="/img/leftnav-bg.gif" valign="top"> <table width="150" cellpadding="0" cellspacing="0" border="0" background> <tr> <td colspan="3"><img src="/img/site-index.gif" width="150" height="42" border="0" vspace="0" hspace="0"></td> </tr> <tr> <td width="19"><img src="/img/sp.gif" width="19" height="1" border="0"></td> <td width="126" bgcolor="#FDF1DA"> <table width="126" background bgcolor="#FDF1DA" cellpadding="3" cellspacing="0" style="border-left: 1px solid #000000;border-right: 1px solid #000000;"> <tr><td><a href="http://www.4guysfromrolla.com/webtech/" class="guysnav"><i>Recent Articles</i></a> <a href="http://aspnet.4guysfromrolla.com/rss/rss.aspx"><img src="/images/xml.gif" border="0" /></a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/index_asp.shtml" class="guysnav">All Articles</a></td></tr> <tr><td><a href="http://aspnet.4guysfromrolla.com/" class="guysnav">ASP.NET Articles</a> [<a href="http://aspnet.4guysfromrolla.com/1.x/" class="guysnav">1.x</a>] [<a href="http://aspnet.4guysfromrolla.com/2.0/" class="guysnav">2.0</a>]</td></tr> <tr><td><a href="http://www.aspfaqs.com/aspfaqs/" class="guysnav">ASPFAQs.com</a></td></tr> <tr><td><a href="http://www.aspmessageboard.com/" class="guysnav">Message Board</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/LearnMore/" class="guysnav">Related Web Technologies</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/tips/" class="guysnav">User Tips!</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/top10/" class="guysnav">Coding Tips</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/search/" class="guysnav">Search</a></td></tr> </table> </td> <td width="5"><img src="/img/sp.gif" width="5" height="1" border="0"></td> </tr> <tr> <td width="19"><img src="/img/sp.gif" width="19" height="1" border="0"></td> <td><img src="/img/leftnav-btm.gif" width="126" height="10" border="0" alt vspace="0" hspace="0"></td> <td width="5"><img src="/img/sp.gif" width="5" height="1" border="0"></td> </tr> <tr> <td colspan="3"><img src="/img/sp.gif" width="1" height="10" border="0" alt></td> </tr> <tr> <td width="19"><img src="/img/sp.gif" width="19" height="1" border="0"></td> <td colspan="2"> <table cellspacing="0" cellpadding="0" border="0"> <tr><td><!-- marketplace01 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace01'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace01"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace01" border="0"></a></noscript> <!-- /marketplace01 ad tag --> </td></tr> <tr><td><img src="/img/sp.gif" width="1" height="3" border="0"></td></tr> <tr><td><!-- marketplace02 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace02'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace02"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace02" border="0"></a></noscript> <!-- /marketplace02 ad tag --> </td></tr> <tr><td><img src="/img/sp.gif" width="1" height="3" border="0"></td></tr> <tr><td><!-- marketplace03 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace03'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace03"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace03" border="0"></a></noscript> <!-- /marketplace03 ad tag --> </td></tr> <tr><td><img src="/img/sp.gif" width="1" height="3" border="0"></td></tr> <tr><td><!-- marketplace04 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace04'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace04"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace04" border="0"></a></noscript> <!-- /marketplace04 ad tag --> </td></tr> <tr><td><img src="/img/sp.gif" width="1" height="3" border="0"></td></tr> <tr><td><!-- marketplace05 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace05'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace05"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace05" border="0"></a></noscript> <!-- /marketplace05 ad tag --> </td></tr> <tr><td><!-- marketplace06 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace06'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace06"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace06" border="0"></a></noscript> <!-- /marketplace06 ad tag --> </td></tr> <tr><td><!-- marketplace07 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace07'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace07"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace07" border="0"></a></noscript> <!-- /marketplace07 ad tag --> </td></tr> <tr><td><!-- marketplace08 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace08'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace08"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace08" border="0"></a></noscript> <!-- /marketplace08 ad tag --> </td></tr> <tr><td><!-- marketplace09 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace09'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace09"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace09" border="0"></a></noscript> <!-- /marketplace09 ad tag --> </td></tr> <tr><td><!-- marketplace10 ad tag --> <script language="javascript"> <!-- OAS_AD('marketplace10'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace10"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!marketplace10" border="0"></a></noscript> <!-- /marketplace10 ad tag --> </td></tr> </table> </td> </tr> </table> <br> <table width="150" cellpadding="0" cellspacing="0" border="0" background> <tr> <td colspan="3"><img src="/img/leftnav-resources.gif" width="150" height="25" border="0"></td> </tr> <tr> <td width="16"><img src="/img/sp.gif" width="16" height="1" border="0"></td> <td width="126" bgcolor="#EEEEEE"> <table width="130" background bgcolor="#EEEEEE" cellpadding="4" cellspacing="0" style="border-left: 1px solid #000000;border-right: 1px solid #000000;"> <tr><td><b><i>Sections:</i></b></td></tr> <tr> <td><a href="http://www.15seconds.com/book/default.htm" class="guysnav">Book Reviews</a><br> <a href="http://www.4guysfromrolla.com/webtech/chapters/" class="guysnav">Sample Chapters</a></td> </tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/amb/" class="guysnav">Commonly Asked Message Board Questions</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/aspnews.asp" class="guysnav">Headlines from ASPWire.com</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/111599-1.shtml" class="guysnav">JavaScript Tutorials</a></td></tr> <tr><td><a href="http://communities2.microsoft.com/home/console.aspx?siteid=34000003" class="guysnav">MSDN Communities Hub</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/officialdocs.shtml" class="guysnav">Official Docs</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/LearnMore/Security.asp" class="guysnav">Security</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/sqlguru/" class="guysnav">Stump the SQL Guru!</a></td></tr> <tr><td><a href="http://webhost.thelist.com/" class="guysnav">Web Hosts</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/webtech/xml.shtml" class="guysnav">XML Info</a></td></tr> <tr><td><b><i>Information:</i></b></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/advertise.shtml" class="guysnav">Advertise</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/feedback.shtml" class="guysnav">Feedback</a></td></tr> <tr><td><a href="http://www.4guysfromrolla.com/authors.shtml" class="guysnav">Author an Article</a></td></tr> <tr><td><a href="http://www.justtechjobs.com/Jobseekers.asp" class="guysnav">Technology Jobs</a></td></tr> </table> </td> <td width="4"><img src="/img/sp.gif" width="4" height="1" border="0"></td> </tr> <tr> <td width="16"><img src="/img/sp.gif" width="16" height="1" border="0"></td> <td><img src="/img/leftnav-btm-gray.gif" width="130" height="10" border="0" alt vspace="0" hspace="0"></td> <td width="4"><img src="/img/sp.gif" width="4" height="1" border="0"></td> </tr> </table> <br> <div align="center"> <!-- 125x125-1 ad tag --> <script language="javascript"> <!-- OAS_AD('125x125-1'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!125x125-1"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!125x125-1" border="0"></a></noscript> <!-- /125x125-1 ad tag --> <br /> <br /> <!-- 120x60-1 ad tag --> <script language="javascript"> <!-- OAS_AD('120x60-1'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!120x60-1"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!120x60-1" border="0"></a></noscript> <!-- /120x60-1 ad tag --> </div> <br> <table width="150" cellpadding="0" cellspacing="0" border="0" background> <tr> <td colspan="3"><img src="/img/leftnav-icommerce.gif" width="150" height="25" border="0"></td> </tr> <tr> <td width="16"><img src="/img/sp.gif" width="16" height="1" border="0"></td> <td width="126" bgcolor="#EEEEEE"> <table width="130" background bgcolor="#EEEEEE" cellpadding="4" cellspacing="0" style="border-left: 1px solid #000000;border-right: 1px solid #000000;"> <tr> <td> <!-- cpX ad tags --> <!-- cp1 ad tag --> <script language="javascript"> <!-- OAS_AD('cp1'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp1"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp1" border="0"></a></noscript> <!-- /cp1 ad tag --> <br /><!-- cp2 ad tag --> <script language="javascript"> <!-- OAS_AD('cp2'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp2"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp2" border="0"></a></noscript> <!-- /cp2 ad tag --> <br /><!-- cp3 ad tag --> <script language="javascript"> <!-- OAS_AD('cp3'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp3"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp3" border="0"></a></noscript> <!-- /cp3 ad tag --> <br /><!-- cp4 ad tag --> <script language="javascript"> <!-- OAS_AD('cp4'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp4"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp4" border="0"></a></noscript> <!-- /cp4 ad tag --> <br /><!-- cp5 ad tag --> <script language="javascript"> <!-- OAS_AD('cp5'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp5"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp5" border="0"></a></noscript> <!-- /cp5 ad tag --> <br /><!-- cp6 ad tag --> <script language="javascript"> <!-- OAS_AD('cp6'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp6"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp6" border="0"></a></noscript> <!-- /cp6 ad tag --> <br /><!-- cp7 ad tag --> <script language="javascript"> <!-- OAS_AD('cp7'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp7"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp7" border="0"></a></noscript> <!-- /cp7 ad tag --> <br /><!-- cp8 ad tag --> <script language="javascript"> <!-- OAS_AD('cp8'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp8"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp8" border="0"></a></noscript> <!-- /cp8 ad tag --> <br /><!-- cp9 ad tag --> <script language="javascript"> <!-- OAS_AD('cp9'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp9"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp9" border="0"></a></noscript> <!-- /cp9 ad tag --> <br /><!-- cp10 ad tag --> <script language="javascript"> <!-- OAS_AD('cp10'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp10"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp10" border="0"></a></noscript> <!-- /cp10 ad tag --> <br /><!-- cp11 ad tag --> <script language="javascript"> <!-- OAS_AD('cp11'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp11"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp11" border="0"></a></noscript> <!-- /cp11 ad tag --> <br /><!-- cp12 ad tag --> <script language="javascript"> <!-- OAS_AD('cp12'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp12"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp12" border="0"></a></noscript> <!-- /cp12 ad tag --> <br /><!-- cp13 ad tag --> <script language="javascript"> <!-- OAS_AD('cp13'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp13"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp13" border="0"></a></noscript> <!-- /cp13 ad tag --> <br /><!-- cp14 ad tag --> <script language="javascript"> <!-- OAS_AD('cp14'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp14"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!cp14" border="0"></a></noscript> <!-- /cp14 ad tag --> <br /> <!-- /cpX ad tags --> </td> </tr> </table> </td> <td width="4"><img src="/img/sp.gif" width="4" height="1" border="0"></td> </tr> <tr> <td width="16"><img src="/img/sp.gif" width="16" height="1" border="0"></td> <td><img src="/img/leftnav-btm-gray.gif" width="130" height="10" border="0" alt vspace="0" hspace="0"></td> <td width="4"><img src="/img/sp.gif" width="4" height="1" border="0"></td> </tr> </table> <br> <table width="150" cellpadding="0" cellspacing="0" border="0" background> <tr> <td colspan="3"><a href="http://www.internet.com/"><img src="/img/leftnav-icom.gif" width="150" height="25" border="0" alt="internet.com"></a></td> </tr> <tr> <td width="16"><img src="/img/sp.gif" width="16" height="1" border="0"></td> <td width="126" bgcolor="#EEEEEE"> <table width="130" background bgcolor="#EEEEEE" cellpadding="4" cellspacing="0" style="border-left: 1px solid #000000;border-right: 1px solid #000000;"> <tr> <td> <A HREF="http://www.internet.com/it/" CLASS="icomtb">IT</A><BR> <A HREF="http://www.internet.com/developer/" CLASS="icomtb">Developer</A><BR> <A HREF="http://www.internetnews.com" CLASS="icomtb">Internet News</A><BR> <A HREF="http://www.smallbusinesscomputing.com" CLASS="icomtb">Small Business</A> <BR> <A HREF="http://www.internet.com/personaltechnology/" CLASS="icomtb">Personal Technology</A><BR> <A HREF="http://www.internet.com/sections/international.html" CLASS="icomtb">International</A><BR> <BR> <A HREF="http://search.internet.com" CLASS="icomtb">Search internet.com</A><BR> <A HREF="http://www.internet.com/mediakit/" CLASS="icomtb">Advertise</A><BR> <A HREF="http://www.jupitermedia.com/corporate/" CLASS="icomtb">Corporate Info</A><BR> <A HREF="http://e-newsletters.internet.com/" CLASS="icomtb">Newsletters</A><BR> <A HREF="http://www.justtechjobs.com/" CLASS="icomtb">Tech Jobs</A><BR> <A HREF="http://e-newsletters.internet.com/mailinglists.html" CLASS="icomtb">E-mail Offers</A><BR> </td> </tr> </table> </td> <td width="4"><img src="/img/sp.gif" width="4" height="1" border="0"></td> </tr> <tr> <td width="16"><img src="/img/sp.gif" width="16" height="1" border="0"></td> <td><img src="/img/leftnav-btm-gray.gif" width="130" height="10" border="0" alt vspace="0" hspace="0"></td> <td width="4"><img src="/img/sp.gif" width="4" height="1" border="0"></td> </tr> </table> </td> <td width="99%" valign="top"> <table width="100%" cellpadding="0" cellspacing="0" border="0" background> <tr> <td background="/img/topnav-bg.gif"><a href="http://www.4guysfromrolla.com/"><img src="/img/asp-topnav.gif" width="57" height="30" border="0" alt="ASP" vspace="0" hspace="0"></a></td> <td background="/img/topnav-bg.gif"><a href="http://aspnet.4guysfromrolla.com/"><img src="/img/aspnet-topnav.gif" width="90" height="30" border="0" alt="ASP.NET" vspace="0" hspace="0"></a></td> <td background="/img/topnav-bg.gif"><a href="http://www.aspfaqs.com/aspfaqs/"><img src="/img/aspfaqs-topnav.gif" width="96" height="30" border="0" alt="ASP FAQs" vspace="0" hspace="0"></a></td> <td background="/img/topnav-bg.gif"><a href="http://www.aspmessageboard.com/"><img src="/img/mboard-topnav.gif" width="141" height="30" border="0" alt="Message Board" vspace="0" hspace="0"></a></td> <td background="/img/topnav-bg.gif"><a href="http://www.4guysfromrolla.com/feedback.shtml"><img src="/img/feedback-topnav.gif" width="96" height="30" border="0" alt="Feedback" vspace="0" hspace="0"></a></td> <td background="/img/topnav-bg.gif"><a href="http://4guysfromrolla.justtechjobs.com/"><img src="/img/aspjobs-topnav.gif" width="99" height="30" border="0" alt="ASP Jobs" vspace="0" hspace="0"></a></td> <td align="right" background="/img/topnav-bg.gif"><img src="/img/topnav-right.gif" width="58" height="30" border="0" vspace="0" hspace="0"></td> </tr> </table> <img src="/img/right-bg.gif" width="7" height="24" border="0" align="right" vspace="0" hspace="0"> <!-- ciu ad tag --> <script language="javascript"> <!-- OAS_AD('ciu'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!ciu"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!ciu" border="0"></a></noscript> <!-- /ciu ad tag --> <div style="padding-left: 5px; padding-right: 5px;"> <table width="130" cellpadding="0" border="0" cellspacing="0" align="right"> <!-- JustTechJobs Big Box Start --> <tr> <td> <style type="text/css"> #contentbottomnoinset{ width: 358px; width: expression('360px'); padding: 0px; text-align: left; font-size: 11px; margin-right: 0px; margin-top: 5px; margin-bottom: 0px; border: 1px solid #000000; } #contentbottomnoinset h5 { width: 335px; padding-left: 5px; padding-top: 5px; margin-top: 0px; margin-bottom: 0px; font-size: 16px; color: #333; font-weight: bold; } #contentbottomnoinset .tile { background: #eae7d4; background: url(http://www.internet.com/img/bkgd_botcontentbkgd_tile.gif); line-height: 12px; padding: 3px; } #img_openings{ margin-top: -8px; padding: 5px; } .popinsetlink { font-weight: bold; } </style> <div id="contentbottomnoinset"> <div style="width:100%; background:url('http://www.internet.com/_mocks/windows-channel/4guys/jtjbox/jtjtopbg.jpg') repeat-x; height:43px;"> <h5 class="header"><a href="http://4guysfromrolla.justtechjobs.com/"><img hspace="0" border="0" align="absbottom" alt="Justtechjobs.com" src="http://images.justtechjobs.com/images/4guysfromrolla.gif"/></a>&nbsp;<a href="http://4guysfromrolla.justtechjobs.com/" style="color:#333333; text-decoration:none; font-family:arial,verdana,helvetica;">Featured ASP Jobs</a></h5> </div> <div class="tile"> <div class="tileinset"> <a class="popinsetlink" href=""/><p> <p><a class=popinsetlink href=http://4guysfromrolla.justtechjobs.com/CBJSViewJob.asp?ID={35AB14B6-4928-4005-A626-8C950E47763D}>.NET Developer</a><br>Steinman Recruiting Associates<br>US-PA-York</p><p><a class=popinsetlink href=http://4guysfromrolla.justtechjobs.com/CBJSViewJob.asp?ID={1F341A2A-9B4C-4776-84D7-555E97103614}>VB, C#, C++, and ASP.NET Programmer</a><br>IT Search<br>US-MI-Lansing</p><p><a class=popinsetlink href=http://4guysfromrolla.justtechjobs.com/CBJSViewJob.asp?ID={1A51C0DB-A3D6-4233-82B6-9EFDF7D39AA5}>Sr. Java Developer</a><br>Professional Technical Resources<br>US-CA-Roseville</p> </div> <div id="floatrssicon"> <a title="Search all Jobs" href="http://4guysfromrolla.justtechjobs.com/"> Search all ASP Jobs</a> | <a title="Post Your Resume" href="http://4guysfromrolla.justtechjobs.com/CBJSEditResume.asp"> Post A Resume</a> | <a title="Post A Job" href="http://www.justtechjobs.com/CBEmpPostJobLogin.asp?CB=4guysfromrolla.com"> Post A Job</a> </div> <div id="blankhide"> </div><div id="blankhide"> </div><div id="blankhide"> </div><div id="blankhide"> </div> <div id="blankhide"> </div><div id="blankhide"> </div><div id="blankhide"> </div><div id="blankhide"> </div> </div> </div> <br clear="all" /> </td> </tr> <!-- JustTechJobs Big Box Stop --> <tr> <td> <!-- accessunit_one ad tag --> <script language="javascript"> <!-- OAS_AD('accessunit_one'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!accessunit_one"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!accessunit_one" border="0"></a></noscript> <!-- /accessunit_one ad tag --> <!-- accessunit_two ad tag --> <script language="javascript"> <!-- OAS_AD('accessunit_two'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!accessunit_two"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!accessunit_two" border="0"></a></noscript> <!-- /accessunit_two ad tag --> <!-- accessunit_three ad tag --> <script language="javascript"> <!-- OAS_AD('accessunit_three'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!accessunit_three"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!accessunit_three" border="0"></a></noscript> <!-- /accessunit_three ad tag --> <!-- flex ad tag --> <script language="javascript"> <!-- OAS_AD('flex'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!flex"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!flex" border="0"></a></noscript> <!-- /flex ad tag --> </td> </tr> <tr> <td><img src="/img/sp.gif" width="12" height="10" border="0" alt> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td colspan="2" background="/img/right-hdr-bg.gif"><img src="/img/nl-signup.gif" width="192" height="30" border="0" alt="WebWeekly Sign Up" vspace="0" hspace="0"></td> </tr> <tr> <td><img src="/img/sp.gif" width="11" height="1" border="0" alt></td> <td width="100%"> <table width="100%" cellpadding="4" cellspacing="0" style="border-left: 1px solid #000000;border-bottom: 1px solid #000000;"> <tr> <td>Sign up for <a href="http://www.4guysfromrolla.com/WebWeekly/" class="headlines" style="font-size: 8pt">WebWeekly</a>, the weekly 4Guys newsletter! <br> <table cellpadding="0" border="0" background="0"> <tr><form method="post" action="http://member.internet.com/subscribe.php" id="frmWW" name="frmWW"> <td align="right"><input type="hidden" name="list_names[]" value="4guysfromrolla-html"></td> <td align="left"><input type="image" src="/img/go-white.gif" vspace="0" hspace="0" border="0" name="submit"></td> </tr></form> </table> </td> </tr> </table> </td> </tr> </table> </td> </tr> <tr> <td><img src="/img/sp.gif" width="12" height="10" border="0" alt> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td colspan="2" background="/img/right-hdr-bg.gif"><a href="http://www.internet.com/sections/win.html"><img src="/img/win-tech.gif" width="192" height="30" border="0" alt="Windows Technology" vspace="0" hspace="0"></a></td> </tr> <tr> <td width="1%"><img src="/img/sp.gif" width="11" height="1" border="0" alt></td> <td width="99%"> <table width="100%" cellpadding="4" cellspacing="0" style="border-left: 1px solid #000000;border-bottom: 1px solid #000000;"> <tr> <td>Check out these Web sites for articles, tutorials, FAQs, and code on ASP and related Technologies! <br> &#149; <a href="http://www.15seconds.com/" class="headlines" style="font-size: 8pt">15Seconds.com</a><br> &#149; <a href="http://www.asp101.com/" class="headlines" style="font-size: 8pt">ASP101.com</a><br> &#149; <a href="http://www.aspfaqs.com/" class="headlines" style="font-size: 8pt">ASPFAQs.com</a><br> &#149; <a href="http://www.aspmessageboard.com/" class="headlines" style="font-size: 8pt">ASPMessageboard.com</a><br> &#149; <a href="http://www.aspwire.com/" class="headlines" style="font-size: 8pt">ASPWire.com</a><br> &#149; <a href="http://www.devx.com/" class="headlines" style="font-size: 8pt">DevX.com</a><br> <p> [<a href="http://www.internet.com/sections/win.html" class="readmore">Complete List of Sites</a>] </td> </tr> </table> </td> </tr> </table> </td> </tr> <tr> <td><img src="/img/sp.gif" width="12" height="10" border="0" alt> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td width="1%"><img src="/img/sp.gif" width="11" height="1" border="0" alt></td> <td width="99%"> <a href="http://www.aspwire.com/"><img src="/images/aspwirehead.gif" border="0" alt="News from ASPWire"></a> <div style="font-size: 8pt; font-family: Arial, Helvetica, MS Sans Serif;"> <!-- Updated at: --> </div> </td> </tr> </table> </td> </tr> </table> <!--content_start--> <!-- <div> <p> <a href="_LINK_" class="headlines">_TITLE_</a><br /><span class="pubdate">_DATE_</span> </p> <div class="description"> <p> </p> <p> <br /><a href="_LINK_" class="readmore">Read More &gt;</a> </p></div> </div> See http://aspnet.4guysfromrolla.com/rss/rss.test.aspx to make sure XML is valid --> <p> <div> <p> <a href="http://aspnet.4guysfromrolla.com/articles/100808-1.aspx" class="headlines">Building Interactive User Interfaces with Microsoft ASP.NET AJAX: Enabling Bookmarking and the Browser's Back Button</a><br /><span class="pubDate">10/08/08</span> </p> <div class="description"> <p> AJAX applications offer a more interactive user experience by replacing traditional full page postbacks with leaner and more efficient partial page postbacks. These partial page postbacks are executed asynchronously using JavaScript code in the browser. When a web surfer clicks on a link or submits a form (via a full page postback) the browser automatically adds the page being left to the browser's history. This allows the web surfer to use his Back and Forward buttons to navigate through this history. However, the partial page postbacks performed by AJAX applications do not cause the browser to register anything in their history. As a consequence, if a user visits an AJAX-enabled web page, performs a number of partial page postbacks, and then clicks the Back button, she is <b>not</b> returned to the state of the page prior to the last partial page postback. Instead, she is taken back to the page she was at <i>before</i> arriving at the AJAX-enabled web page. </p><p> The good news is that starting with ASP.NET 3.5 SP 1, the ScriptManager control in the ASP.NET AJAX Framework includes functionality for creating history points in an AJAX-enabled web page. Adding a history point creates an entry in the browser's history for a particular page state. What's more, this page state is encoded in the querystring of the browser, meaning that visitors can bookmark a particular state of an AJAX application. </p><p> This article shows how to add history points using the ScriptManager control. In particular, it shows how to record history points whenever the user pages or sorts a GridView. Read on to learn more! <br /> <a href="http://aspnet.4guysfromrolla.com/articles/100808-1.aspx" class="readmore">Read More &gt;</a> </p> </div> </div><hr /><div> <p> <a href="http://aspnet.4guysfromrolla.com/articles/100108-1.aspx" class="headlines">Retrieving the Just-Inserted ID of an IDENTITY Column Using a SqlDataSource Control</a><br /><span class="pubDate">10/01/08</span> </p> <div class="description"> <p> ASP.NET offers a variety of tools and mechanisms for working with database data, including a number of data source controls, such as the SqlDataSource, ObjectDataSource, and LinqDataSource, among others. The SqlDataSource is one of the most basic data source controls as it operates directly against a configured database. Using the SqlDataSource control, an ASP.NET developer can retrieve, insert, update, or delete data by simply setting a few properties. Little to no code is needed. </p><p> While the SqlDataSource makes it a walk in the park to implement the most common data access scenarios, a little extra effort is needed for more intricate scenarios. One such data access pattern is retrieving the value of the just-inserted record's ID field, where the ID field is an <code>IDENTITY</code> column. (An <code>IDENTITY</code> column is a numeric column in a SQL Server database table that has its value automatically assigned when a new record is added to the table. <code>IDENTITY</code> columns are sometimes referred to as auto-number columns, as well.) Being able to get the ID value of the just-inserted record is helpful in cases where you need to insert a new record and then insert other records into related tables, or when you want to let the user start working with the just-added record, which might entail taking them to a URL like <code>EditRecord.aspx?ID=<i>justInsertedRecordID</i></code>. </p><p> This article shows how to use the SqlDataSource control to insert a new record and retrieve the value of its ID field. In particular, we will look at two examples: one that uses a stored procedure to insert the new record and another that uses an ad-hoc <code>INSERT</code> statement. Read on to learn more! <br /> <a href="http://aspnet.4guysfromrolla.com/articles/100108-1.aspx" class="readmore">Read More &gt;</a> </p> </div> </div><hr /><div> <p> <a href="http://aspnet.4guysfromrolla.com/articles/092408-1.aspx" class="headlines">Programmatically Retrieving a Stored Procedure's Parameters</a><br /><span class="pubDate">09/24/08</span> </p> <div class="description"> <p> <a href="http://www.4guysfromrolla.com/webtech/111499-1.shtml">Stored procedures</a> in SQL Server are similar to methods in C# and Visual Basic code. They encapsulate one or more statements into a single, parameterized construct. Both stored procedures and methods are a form of code reuse and their use help developers adhere to the <a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY principle</a> (<b>D</b>on't <b>R</b>epeat <b>Y</b>ourself). But the similarities don't end there. The .NET Framework has a feature called <a href="http://msdn.microsoft.com/en-us/library/f7ykdhsy.aspx">Reflection</a> that enables developers to programmatically retrieve a list of methods for a given class, along with their input parameters and return types. It's also possible to programmatically determine what stored procedures exist in a database, along with each stored procedure's input and output parameters. </p><p> Being able to programmatically retrieve a database's stored procedures and determine their parameters are useful in a handful of scenarios. For example, code generators like <a href="http://www.codesmithtools.com/">CodeSmith</a> and the <a href="http://www.asp.net/learn/data-access/tutorial-01-vb.aspx">Typed DataSet feature</a> in Visual Studio use these techniques to determine the code to construct to call each stored procedure. These techniques are also useful for allowing ad-hoc stored procedure execution from a page on your website, which can be a useful tool for administrators. </p><p> This article shows how to retrieve a list of stored procedures in a database and how to enumerate a selected stored procedure's input and output parameters. We'll also look at how to let the user visiting the page pick a stored procedure, enter values for its parameters, and execute and view the resulting output. Read on to learn more! <br /> <a href="http://aspnet.4guysfromrolla.com/articles/092408-1.aspx" class="readmore">Read More &gt;</a> </p> </div> </div><hr /><div> <p> <a href="http://aspnet.4guysfromrolla.com/articles/091708-1.aspx" class="headlines">Using ASP.NET 3.5's ListView and DataPager Controls: Grouping By a Data Field</a><br /><span class="pubDate">09/17/08</span> </p> <div class="description"> <p> The ListView control renders its <code>ItemTemplate</code> once for every item in its <code>DataSource</code>. As discussed in <a href="http://aspnet.4guysfromrolla.com/articles/010208-1.aspx">Grouping Data with the ListView Control</a> it is possible to inject grouping template every <i>N</i> records. This flexibility allows for scenarios like displaying data in a multi-column table. </p><p> While the built-in grouping feature is certainly useful, when it comes to displaying data most people think of grouping to mean that records with similar attributes are lumped together. For instance, the Northwind database contains information about an assortment of products, and each product has attributes like product name, category, supplier, and so forth. While each product name is unique, many products share the same category and supplier. When someone says, &quot;I want to group the product data,&quot; usually they mean they want to group it by one of these common attributes. The following screenshot shows the user interface people most people associate with the term grouping. Here products are grouped by supplier. </p><p> <center> <img src="http://aspnet.4guysfromrolla.com/images/ListView/05.01.png" border="0" width="444" height="316" alt="Products, grouped by suppliers and displayed in a patriotic hue." /> </center> </p><p> Unfortunately the ListView's grouping feature does not allow for this style of grouping. The good news is that with a few lines of code and markup we can construct such an interface. This article shows how to build a flexible grouping interface that allows the user to choose what data field to group the data by. Read on to learn more! <br /> <a href="http://aspnet.4guysfromrolla.com/articles/091708-1.aspx" class="readmore">Read More &gt;</a> </p> </div> </div><hr /><div> <p> <a href="http://aspnet.4guysfromrolla.com/articles/091008-1.aspx" class="headlines">Creating a Dynamic Data-Driven User Interface (Part 4)</a><br /><span class="pubDate">09/10/08</span> </p> <div class="description"> <p> This article is the fourth and final installment of a series that examines how to build a data-driven web applications that offers dynamic user interfaces. Over the past three articles we created a sample web application that allows for numerous law firms to log in to the site and manage their clientele. Client data is dispursed across fixed and dynamic data models. The fixed data model contains a set of client attributes common to all law firms - <code>FirstName</code>, <code>LastName</code>, <code>Email</code>, and so forth - while the dynamic data model allows each law firm to define their own custom client attributes. For example, a personal injury firm could include attributes like Date Injured, and Was Permanently Disabled, while a law firm specializing in bankruptcy would have attributes like Debt Servicing Cost and Monthly Income Amount. </p><p> A completely functional demo was constructed over the past three installments. <a href="http://aspnet.4guysfromrolla.com/articles/082008-1.aspx">Part 1</a> examined the scope of the project and created the data model. <a href="http://aspnet.4guysfromrolla.com/articles/082708-1.aspx">Part 2</a> showed how to allow customers (law firms) to define their custom client attributes. And <a href="http://aspnet.4guysfromrolla.com/articles/090308-1.aspx">Part 3</a> looked at dynamically building the user interface for collecting custom client attributes. While the web application created over the past three tutorials offer a true dynamic, data-drive user interface, there are several places that could be improved upon. This final installment reviews some of these enhancements with a discussion on how to implement each of them. Read on to learn more! <br /> <a href="http://aspnet.4guysfromrolla.com/articles/091008-1.aspx" class="readmore">Read More &gt;</a> </p> </div> </div><hr /><div> <p> <a href="http://aspnet.4guysfromrolla.com/articles/090308-1.aspx" class="headlines">Creating a Dynamic Data-Driven User Interface (Part 3)</a><br /><span class="pubDate">09/03/08</span> </p> <div class="description"> <p> This article is the third installment of a four-part series that examines how to build a data-driven web applications that offers dynamic user interfaces. Over the past two articles we created a sample web application that allows for numerous law firms to log in to the site and manage their clientele. The application's data model contains a <code>Clients</code> table that defines the fixed attributes for a client - <code>ClientId</code>, <code>CustomerId</code>, <code>FirstName</code>, <code>LastName</code>, and so on. All law firms have these fixed attributes available to them. Each law firm can also define dynamic attributes. For example, a law firm that specializes in personal injury might need to capture client information like type of injury, whether the injury occurred on a job site, and so forth. The custom client attributes for each law firm are stored in a database table named <code>DynamicAttributesForClients</code>. </p><p> <a href="http://aspnet.4guysfromrolla.com/articles/082008-1.aspx">Part 1</a> examined the scope of the project and created the data model, while <a href="http://aspnet.4guysfromrolla.com/articles/082708-1.aspx">Part 2</a> showed how to allow customers (law firms) to define their custom client attributes. In this installment we create the web pages for managing clients. This includes two pages: one page to create new clients and manage their fixed attributes, and a second page to manage their custom attributes. Read on to learn more! <br /> <a href="http://aspnet.4guysfromrolla.com/articles/090308-1.aspx" class="readmore">Read More &gt;</a> </p> </div> </div><hr /><div> <p> <a href="http://aspnet.4guysfromrolla.com/articles/082708-1.aspx" class="headlines">Creating a Dynamic Data-Driven User Interface (Part 2)</a><br /><span class="pubDate">08/27/08</span> </p> <div class="description"> <p> This article is the second installment of a four-part series that examines how to build a data-driven web applications that offers dynamic user interfaces. Over the course of this article series we will build a complete and functional web application with a dynamic, data-driven user interface. Specifically, the demo application is a fictional website used by numerous law firms to manage their clientele. </p><p> The application uses both a fixed and dynamic data model for law firms to manage their clients. The <code>Clients</code> table contains the fixed attributes for a client and is composed of columns like <code>ClientId</code>, <code>CustomerId</code>, <code>FirstName</code>, and <code>LastName</code>. All law firms have these fixed attributes available to them. The dynamic data model allows each law firm to define custom attributes for their clientele. For example, a law firm that specializes in personal injury might need to capture client information that is not needed for a law firm that specializes in family law. The custom client attributes for each law firm are stored in a database table named <code>DynamicAttributesForClients</code>. </p><p> <a href="http://aspnet.4guysfromrolla.com/articles/082008-1.aspx">Part 1</a> examined the scope of the project and created the data model. In this installment we create the web pages used by the law firms to define the custom client attributes. Read on to learn more! <br /> <a href="http://aspnet.4guysfromrolla.com/articles/082708-1.aspx" class="readmore">Read More &gt;</a> </p> </div> </div></p> <!--content_stop--> <p align="center"> <table width="90%" cellpadding="1" cellspacing="0" border="0"> <tr><td><hr width="100%" size="1" color="#CC9933"></td></tr> <tr> <td align="center"> <a href="http://www.internet.com/sections/win.html" class="headlines" style="font-size: 8pt">Windows Internet Technology</a> | <a href="http://aspnet.4guysfromrolla.com/" class="headlines" style="font-size: 8pt">ASP.NET</a> [<a href="http://aspnet.4guysfromrolla.com/1.x/" class="headlines" style="font-size: 8pt">1.x</a>] [<a href="http://aspnet.4guysfromrolla.com/2.0/" class="headlines" style="font-size: 8pt">2.0</a>] | <a href="http://www.aspmessageboard.com/" class="headlines" style="font-size: 8pt">ASPMessageboard.com</a> | <a href="http://www.aspfaqs.com/aspfaqs/" class="headlines" style="font-size: 8pt">ASPFAQs.com</a> | <a href="http://www.4guysfromrolla.com/advertise.shtml" class="headlines" style="font-size: 8pt">Advertise</a> | <a href="http://www.4guysfromrolla.com/feedback.shtml" class="headlines" style="font-size: 8pt">Feedback</a> | <a href="http://www.4guysfromrolla.com/authors.shtml" class="headlines" style="font-size: 8pt">Author an Article</a> </td> </tr> <tr><td><hr width="100%" size="1" color="#CC9933"></td></tr> </table> </p> </div> </td> </tr> <tr> <td><img src="/img/btm-left.gif" width="150" height="65" border="0" alt=""></td> <td background="/img/btm-bg.gif" align="right"><img src="/img/btm-right.gif" width="80" height="65" border="0" alt=""></td> </tr> </table> <table width="100%" cellpadding="4" cellspacing="0" border="0"> <tr><td align="center"><!-- 468x60-2 ad tag --> <script language="javascript"> <!-- OAS_AD('468x60-2'); //--> </script><noscript><a href="http://63.236.18.118/RealMedia/ads/click_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!468x60-2"><img src="http://63.236.18.118/RealMedia/ads/adstream_nx.ads/intm/webdev/www.4guysfromrolla.com@468x60-1,468x60-2,marketplace01,marketplace02,marketplace03,marketplace04,marketplace05,marketplace06,marketplace07,marketplace08,marketplace09,marketplace10,cp1,cp2,cp3,cp4,cp5,cp6,cp7,cp8,cp9,cp10,cp11,cp12,cp13,cp14,ciu,house_ribbon,flex,125x125-1,120x60-1,accessunit!468x60-2" border="0"></a></noscript> <!-- /468x60-2 ad tag --> </td></tr> <tr><td align="center"><!-- Google Analytics --> <script src="/icom_includes/footers/scripts/ga.js" type="text/javascript"> </script> <script type="text/javascript" > <!-- hide from no js browsers delete Array.prototype.itemValidation; delete Array.prototype.isArray; var superTracker = _gat._getTracker("UA-2838492-1"); superTracker._initData(); superTracker._trackPageview(); --> </script> <script type="text/javascript" > var site_name = location.hostname; if ( site_name.indexOf("www.") != 0 ) { site_name = "www."+site_name ; } document.write("<SCR" + "IPT LANGUAGE='JavaScript1.2' SRC='/icom_includes/footers/sites/"+ site_name +".js' TYPE='text/javascript'><\/SCR" + "IPT>"); --> </script> <script type="text/javascript" > <!-- hide from no js browsers pageTracker._initData(); pageTracker._trackPageview(); // --> </script> <!-- End Google Analytics --> <script src="/icom_includes/footers/scripts/pngadapt.js" type="text/javascript"></script> <BR CLEAR="all"><br><center><table border="0" cellspacing="0" cellpadding="5"> <tr> <form method="POST" action="http://search.internet.com/www.jupiterweb.com" target="_top"> <td align="center"> <table border="0" class="mgfoot"> <tr><td class="foot_alt" align="center" style="vertical-align:middle;"> <img src="/icom_includes/footers/onlinemedia_footer.png" alt="JupiterOnlineMedia" width="175" height="17" hspace="0" border="0"> <p align="center"> <a target="_blank" href="http://www.internet.com" class="foot" target="_top"><img src="/icom_includes/footers/icom_foot.png" alt="internet.com" width="97" height="15" hspace="0" border="0" align="absmiddle" style="margin-top:expression('-24px');"></a><img src="/icom_includes/footers/ruledivide_foot.gif" alt="" width="1" height="25" hspace="10" border="0" align="absmiddle"><a target="_blank" href="http://www.earthweb.com" target="_top"><img src="/icom_includes/footers/earthweb_foot.png" alt="earthweb.com" width="93" height="10" hspace="5" border="0" align="absmiddle" style="margin-top:expression('-22px');"></a><img src="/icom_includes/footers/ruledivide_foot.gif" alt="" width="1" height="25" hspace="10" border="0" align="absmiddle"><a target="_blank" href="http://www.devx.com" target="_top"><img src="/icom_includes/footers/devx_foot.png" alt="Devx.com" width="34" height="30" hspace="0" border="0" align="absmiddle"></a><img src="/icom_includes/footers/ruledivide_foot.gif" alt="" width="1" height="25" hspace="10" border="0" align="absmiddle"><a target="_blank" href="http://www.mediabistro.com" target="_top"><img src="/icom_includes/footers/mediabistro_foot.png" alt="mediabistro.com" width="100" height="35" hspace="0" border="0" align="absmiddle"></a><img src="/icom_includes/footers/ruledivide_foot.gif" alt="" width="1" height="25" hspace="10" border="0" align="absmiddle"><a target="_blank" href="http://www.graphics.com" target="_top"><img src="/icom_includes/footers/grcom_foot.png" alt="Graphics.com" width="97" height="16" hspace="0" border="0" align="absmiddle" style="margin-top:expression('-24px');"></a></td></tr></table> <p> <font size="-2" face="verdana, arial, helvetica"><b>Search:</b> <input type="HIDDEN" name="IC_Summary" value="1"> <input type="HIDDEN" name="IC_StartNumber" value="0"> <input type="HIDDEN" name="IC_BatchSize" value="10"> <input type="HIDDEN" name="IC_RelevanceThreshold" value="50"> <input type="hidden" name="IC_QueryDatabase" value="all"> <input type="text" name="IC_QueryText" size="45"> <input type="image" border="0" value="Find" name="SUBMIT" src="/icom_includes/footers/but_find.gif" width="41" height="20" align="absmiddle"> </font> <p> <font size="-2" face="verdana, arial, helvetica"> <a target="_blank" href="http://www.jupitermedia.com/" class="foot"> Jupitermedia Corporation</a> has two divisions: <a target="_blank" href="http://www.jupiterimages.com/" class="foot">Jupiterimages</a> and <a target="_blank" href="http://www.jupitermedia.com/onlinemedia.html" class="foot">JupiterOnlineMedia</a><P> <font size="-2" face="verdana, arial, helvetica"><a target="_blank" href="http://www.jupitermedia.com/corporate/" class="foot" target="_top">Jupitermedia Corporate Info</a> <p> <div class="foot"><!--Copyright 2005-2007--> <script type="text/javascript"> document.write(' Copyright '); var now = new Date(); document.write( + now.getFullYear()); document.write(' Jupitermedia Corporation All Rights Reserved.'); </script> <noscript> Copyright 2008 Jupitermedia Corporation All Rights Reserved.</noscript> <br> <a target="_blank" href="http://www.jupitermedia.com/corporate/legal.html" class="foot" target="_top">Legal Notices</a>, <a target="_blank" href="http://www.jupitermedia.com/corporate/reprints.html#Licensing1" class="foot" target="_top">Licensing</a>, <a target="_blank" href="http://www.jupitermedia.com/corporate/reprints.html#Reprints1" class="foot" target="_top">Reprints</a>, & <a target="_blank" href="http://www.jupitermedia.com/corporate/reprints.html#Permissions" class="foot" target="_top">Permissions</a>, <a target="_blank" href="http://www.jupitermedia.com/corporate/privacy/privacypolicy.html" class="foot" target="_top">Privacy Policy</a>. </font> <p> <font size="-2" face="verdana, arial, helvetica"><a target="_blank" href="http://www.internet.com/mediakit/" class="foot" target="_top">Advertise</a> | <a target="_blank" href="http://e-newsletters.internet.com/" class="foot">Newsletters</a> | <a target="_blank" href="http://www.justtechjobs.com/" class="foot" target="_top">Tech Jobs</a> | <a target="_blank" href="http://www.internetshopper.com/" class="foot" target="_top">Shopping</a> | <a target="_blank" href="http://e-newsletters.internet.com/announcement_list.html" class="foot" target="_top">E-mail Offers</a></div></font> </td> </form> </tr> </table></center> <!-- start solutions links section --> <link href="/icom_includes/footers/css/solstyle.css" rel="stylesheet" type="text/css"> <center> <div id="solsect" style="margin: 0pt auto; padding-top: 10px; padding-left: 0px; padding-right: 0px; width: 100%;"> <div style="margin-bottom: 15px;"> <div style="clear: left; padding-left:0px; padding-right:0px;" class="collapseWrap"> <table width="100%" cellspacing="1" cellpadding="1"> <tr> <td style="background:url('/icom_includes/footers/soltopbg.gif') repeat-x;" height="26" align="left"><a style="font-size:16px; font-weight:bold; color:#333333; font-family:Arial, Helvetica, sans-serif; text-decoration:none; margin-left:5px;" href="#">Solutions</a></td> </tr> <tr> <td bgcolor="#e1e2dc" class="sitemappad" align="left"> <table cellpadding="5" cellspacing="0" border="0" bgcolor="#e7e8e3" style="background:url('/icom_includes/footers/solmidbg.gif') repeat-x;"> <tr> <td align="left" colspan="3" style="font-size:12px;">Whitepapers and eBooks</td> </tr> <tr> <td width="50%" valign="top" align="left"> <a target="_blank" href="http://www.devx.com/AdobeSC/Door/38486">Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers</a><br> <a target="_blank" href="http://www.devx.com/Windows_Server/Article/37878">Microsoft Article: Will Hyper-V Make VMware This Decade's Netscape?</a><br> <a target="_blank" href="http://www.devx.com/avaya/Article/38466">Avaya Article: Avaya AE Services Provide Rapid Telephony Integration with Facebook </a><br> <a target="_blank" href="http://www.devx.com/go-parallel/Article/37896">Intel Go Parallel Article: Getting Started with TBB on Windows </a><br> <a target="_blank" href="http://www.devx.com/Windows_Server/Article/37869">Microsoft Article: 7.0, Microsoft's Lucky Version?</a><br> </td> <td width="10"></td> <td width="50%" valign="top" align="left"> <a target="_blank" href="http://www.devx.com/go-parallel/Article/32724">Intel Go Parallel Article: Intel Threading Tools and OpenMP </a><br> <a target="_blank" href="http://www.devx.com/HPSC/Door/37383">HP eBook: Storage Networking , Part 1</a><br> <a target="_blank" href="http://www.devx.com/avaya/Article/38405">Avaya Article: Speech Sandbox: Application Simulation in Avaya Dialog Designer</a><br> <a target="_blank" href="http://www.devx.com/solutions">MORE WHITEPAPERS, EBOOKS, AND ARTICLES</a><br> </td> </tr> </table> </td> </tr> <tr> <td bgcolor="#e1e2dc" class="sitemappad" align="left"> <table cellpadding="5" cellspacing="0" border="0" bgcolor="#e7e8e3" style="background:url('/icom_includes/footers/solmidbg.gif') repeat-x;"> <tr> <td align="left" colspan="3" style="font-size:12px;">Webcasts</td> </tr> <tr> <td width="50%" valign="top" align="left"> <a target="_blank" href="http://www.devx.com/HPSC/Link/38078">HP Video: StorageWorks EVA4400 and Oracle</a><br> <a target="_blank" href="http://www.devx.com/HPSC/Door/37383">HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind</a><br> </td> <td width="10"></td> <td width="50%" valign="top" align="left"> <a target="_blank" href="http://www.devx.com/solutions">MORE WEBCASTS, PODCASTS, AND VIDEOS</a><br> </td> </tr> </table> </td> </tr> <tr> <td bgcolor="#e1e2dc" class="sitemappad" align="left"> <table cellpadding="5" cellspacing="0" border="0" bgcolor="#e7e8e3" style="background:url('/icom_includes/footers/solmidbg.gif') repeat-x;"> <tr> <td align="left" colspan="3" style="font-size:12px;">Downloads and eKits</td> </tr> <tr> <td width="50%" valign="top" align="left"> <a target="_blank" href="http://www.devx.com/SPAMfighter/Door/38263">30-Day Trial: SPAMfighter Exchange Module</a><br> <a target="_blank" href="http://www.devx.com/RedGateVS/Door/37329">Red Gate Download: SQL Toolbelt and free High-Performance SQL Code eBook</a><br> </td> <td width="10"></td> <td width="50%" valign="top" align="left"> <a target="_blank" href="http://www.devx.com/IronSpeedVS/Door/17479">Iron Speed Designer Application Generator</a><br> <a target="_blank" href="http://www.devx.com/solutions">MORE DOWNLOADS, EKITS, AND FREE TRIALS</a><br> </td> </tr> </table> </td> </tr> <tr> <td bgcolor="#e1e2dc" class="sitemappad" align="left"> <table cellpadding="5" cellspacing="0" border="0" bgcolor="#e7e8e3" style="background:url('/icom_includes/footers/solmidbg.gif') repeat-x;"> <tr> <td align="left" colspan="3" style="font-size:12px;">Tutorials and Demos</td> </tr> <tr> <td width="50%" valign="top" align="left"> <a target="_blank" href="http://www.devx.com/go-parallel/Article/38483">Featured Algorithm: Intel Threading Building Blocks - parallel_reduce</a><br> <a target="_blank" href="http://www.devx.com/RIA/Article/38117">Silverlight 2 App and Walkthrough: Leverage Silverlight 2 with SQL Server and XML</a><br> </td> <td width="10"></td> <td width="50%" valign="top" align="left"> <a target="_blank" href="http://www.devx.com/HPSC/Door/37383">HP Demo: StorageWorks EVA4400</a><br> <a target="_blank" href="http://www.devx.com/solutions">MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES</a><br> </td> </tr> </table> </td> </tr> </table> </div> </div> </div> </center> <!-- end solutions links section --></td></tr> </table> </body> </html>


The HTML Output

4GuysFromRolla.com
  When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles [1.x] [2.0]
ASPFAQs.com
Message Board
Related Web Technologies
User Tips!
Coding Tips
Search

Sections:
Book Reviews
Sample Chapters
Commonly Asked Message Board Questions
Headlines from ASPWire.com
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Security
Stump the SQL Guru!
Web Hosts
XML Info
Information:
Advertise
Feedback
Author an Article
Technology Jobs



















internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers
ASP ASP.NET ASP FAQs Message Board Feedback ASP Jobs

.NET Developer
Steinman Recruiting Associates
US-PA-York

VB, C#, C++, and ASP.NET Programmer
IT Search
US-MI-Lansing

Sr. Java Developer
Professional Technical Resources
US-CA-Roseville