<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>the road into a managed world</title><link>http://blogs.msdn.com/b/thompal/</link><description>Thomas J. Palmié - Principal Consultant, Microsoft Consulting Services</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Debug Build: 5.6.50428.7875)</generator><item><title>SharePoint 2010 intra-farm communication</title><link>http://blogs.msdn.com/b/thompal/archive/2012/04/09/sharepoint-2010-intra-farm-communication.aspx</link><pubDate>Sun, 08 Apr 2012 22:40:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10291760</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=10291760</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2012/04/09/sharepoint-2010-intra-farm-communication.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-10-metablogapi/3108.image_5F00_048B2C78.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-10-metablogapi/1121.image_5F00_thumb_5F00_6BCBDF67.png" width="863" height="856" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10291760" width="1" height="1"&gt;</description></item><item><title>Implementing a multi-lingual SharePoint 2010 based Intranet</title><link>http://blogs.msdn.com/b/thompal/archive/2011/10/16/implementing-a-multi-lingual-sharepoint-2010-based-intranet.aspx</link><pubDate>Sun, 16 Oct 2011 12:43:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10225896</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=10225896</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2011/10/16/implementing-a-multi-lingual-sharepoint-2010-based-intranet.aspx#comments</comments><description>&lt;p&gt;There are various options for implementing a multi-lingual intranet. Variations and the out-of-the-box multilingual user interface (MUI) are some of these options. However to improve the user experience quite often we also need some custom development with content-types, page-layouts, master-pages and some automation.   &lt;br /&gt;If you’re interested in learning how to use a web template based approach to implement a SharePoint 2010 based intranet please come to TechDays in Bern/Switzerland.     &lt;br /&gt;On October, 21st I’ll present the session:    &lt;br /&gt;&lt;a href="http://www.microsoft.com/switzerland/msdn/de/techdays/agenda.aspx"&gt;Implementierung eines mehrsprachigen Intranets basierend auf SharePoint 2010 (d)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here’s a little teaser showing what we’re going to implement:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-10-metablogapi/6758.clip_5F00_image002_5F00_3DA6349F.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-10-metablogapi/2045.clip_5F00_image002_5F00_thumb_5F00_0BEB174A.jpg" width="456" height="141" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I’m looking forward in seeing you there,&lt;/p&gt;  &lt;p&gt;thomas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10225896" width="1" height="1"&gt;</description></item><item><title>Automated SharePoint 2010 farm provisioning</title><link>http://blogs.msdn.com/b/thompal/archive/2011/10/16/automated-sharepoint-2010-farm-provisioning.aspx</link><pubDate>Sun, 16 Oct 2011 12:40:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10225895</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=10225895</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2011/10/16/automated-sharepoint-2010-farm-provisioning.aspx#comments</comments><description>&lt;p&gt;If you’re interested in learning how to automate the provisioning of a SharePoint 2010 farm with all its required server roles, service applications and web applications please come to TechDays 2011 in Bern/Switzerland. &lt;/p&gt;  &lt;p&gt;On October, 20&lt;sup&gt;th&lt;/sup&gt; 2011 together with my colleague &lt;a href="http://2010help.wordpress.com/"&gt;Fabian Schenker&lt;/a&gt; I’ll present the session:    &lt;br /&gt;&lt;a href="http://www.microsoft.com/switzerland/msdn/de/techdays/agenda.aspx"&gt;ShowerPoint - PowerShell und SharePoint für die Installation und Management von SharePoint 2010 Farmen (d)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hope to see you there.&lt;/p&gt;  &lt;p&gt;-thomas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10225895" width="1" height="1"&gt;</description></item><item><title>How to create a slipstreamed SharePoint Server 2010 SP1 install</title><link>http://blogs.msdn.com/b/thompal/archive/2011/07/07/how-to-create-a-slipstreamed-sharepoint-server-2010-sp1-install.aspx</link><pubDate>Thu, 07 Jul 2011 04:55:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10183923</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=10183923</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2011/07/07/how-to-create-a-slipstreamed-sharepoint-server-2010-sp1-install.aspx#comments</comments><description>&lt;p&gt;Now that service pack 1 for SharePoint 2010 is there you might want to integrate it also into the installation process of a new environment. As it is recommended for a SharePoint Server installation to install the SharePoint Foundation SP1 and the SharePoint Server SP1 bits (&lt;a href="http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=984"&gt;http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=984&lt;/a&gt; ) you should integrate both of them into your installation.&lt;/p&gt;  &lt;p&gt;Here’s you do that:&lt;/p&gt;  &lt;p&gt;Download the SharePoint Foundation SP1 bits (&lt;a href="http://support.microsoft.com/kb/2460058"&gt;http://support.microsoft.com/kb/2460058&lt;/a&gt; ) and extract the files from this package by running:     &lt;br /&gt;sharepointfoundation2010sp1-kb2460058-x64-fullfile-en-us.exe /extract:&amp;lt;some directory&amp;gt;&lt;/p&gt;  &lt;p&gt;Download the SharePoint Server SP1 bits (&lt;a href="http://support.microsoft.com/kb/2460045"&gt;http://support.microsoft.com/kb/2460045&lt;/a&gt; ) and extract the files from this package by running:    &lt;br /&gt;officeserver2010sp1-kb2460045-x64-fullfile-en-us.exe /extract:&amp;lt;some directory&amp;gt;&lt;/p&gt;  &lt;p&gt;And finally copy all of these extracted files into the “\Updates” folder of your SharePoint Server 2010 RTM bits.&lt;/p&gt;  &lt;p&gt;Now you can start the installation and once you’re finished you should be able to see version number: 14.0.6029.1000 on Central Administration which indicates that service pack 1 is installed.&lt;/p&gt;  &lt;p&gt;-thomas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10183923" width="1" height="1"&gt;</description></item><item><title>Cannot install Service Pack 1 for SharePoint Server 2010: The following is missing</title><link>http://blogs.msdn.com/b/thompal/archive/2011/06/29/cannot-install-service-pack-1-for-sharepoint-server-2010-the-following-is-missing.aspx</link><pubDate>Wed, 29 Jun 2011 19:08:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10181546</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=10181546</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2011/06/29/cannot-install-service-pack-1-for-sharepoint-server-2010-the-following-is-missing.aspx#comments</comments><description>&lt;p&gt;By now you’ve probably got the news that SP1 for SharePoint 2010 has arrived. You can download it from: &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=26623"&gt;http://www.microsoft.com/download/en/details.aspx?id=26623&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After installing the service pack you run:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;psconfig.exe –cmd upgrade –inplace b2b –wait&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;to start updating the database and to permission the binaries.&lt;/p&gt;  &lt;p&gt;During that process I got the error message:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;“The upgrade command is invalid or a failure has been encountered.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;…&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;The following is missing on &amp;lt;servername&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Microsoft SharePoint 2010 Service Pack 1 (SP1)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-10-metablogapi/0361.clip_5F00_image002_5F00_384A68CC.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-10-metablogapi/4087.clip_5F00_image002_5F00_thumb_5F00_63AE89C6.jpg" width="615" height="190" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Well that’s strange because I’ve just installed the service pack.&lt;/p&gt;  &lt;p&gt;Checking the upgrade status on _admin/PatchStatus.aspx I see:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-10-metablogapi/1856.clip_5F00_image004_5F00_0C69EF10.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-10-metablogapi/3426.clip_5F00_image004_5F00_thumb_5F00_06AED56A.jpg" width="622" height="63" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To fix that issue run the following PowerShell Commandlet on that server:&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Courier New"&gt;Get-SPProduct –local&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This will force the Product Version Timer Job to run and after that you should be able to re-run the psconfig command.&lt;/p&gt;  &lt;p&gt;-thomas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10181546" width="1" height="1"&gt;</description></item><item><title>The perfect SharePoint 2010 development environment-at least for me</title><link>http://blogs.msdn.com/b/thompal/archive/2009/11/25/the-perfect-sharepoint-2010-development-environment-at-least-for-me.aspx</link><pubDate>Wed, 25 Nov 2009 19:26:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928739</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=9928739</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2009/11/25/the-perfect-sharepoint-2010-development-environment-at-least-for-me.aspx#comments</comments><description>&lt;p&gt;While running a SharePoint 2010 machine in a Hyper-V environment is not a bad option I found an even better setup for a SharePoint 2010 development machine: a VHD Boot&lt;/p&gt;  &lt;p&gt;If you’re running Windows 7 or Windows Server 2008 R2 you can boot into a virtual hard disk and you’re getting almoust the performance of a pure physical install. &lt;/p&gt;  &lt;p&gt;&lt;u&gt;Here’s how I configured my machine:&lt;/u&gt;    &lt;br /&gt;On a Hyper-V machine I created a new VM where I:&lt;/p&gt;  &lt;p&gt;· installed Windows Server 2008 R2&lt;/p&gt;  &lt;p&gt;· installed IIS&lt;/p&gt;  &lt;p&gt;· modified the regional settings&lt;/p&gt;  &lt;p&gt;· set timezone&lt;/p&gt;  &lt;p&gt;· disabled loopback check: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa new DWORD Value DisableLoopbackCheck=1&lt;/p&gt;  &lt;p&gt;· disable shutdown event tracker (&lt;a href="http://support.microsoft.com/kb/555541/en-us"&gt;http://support.microsoft.com/kb/555541/en-us&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;· activated the W2K8 feature &amp;quot;.NET 3.5&amp;quot;&lt;/p&gt;  &lt;p&gt;· installed a Loopback Adapter, assigned the fix IP address 10.10.10.1&lt;/p&gt;  &lt;p&gt;· installed FireFox&lt;/p&gt;  &lt;p&gt;· installed Reflector&lt;/p&gt;  &lt;p&gt;· installed Virtual Clone Drive&lt;/p&gt;  &lt;p&gt;· installed Office: Office Pro, SPD, Visio, SharePoint Workspace, Project&lt;/p&gt;  &lt;p&gt;After that I executed sysprep and did a shutdown on the VM.   &lt;br /&gt;With that I’ve got a base VM which can be used as the base for new virtual machines or for VHD boot.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/TheperfectSharePoint2010developmentenvir_11F3B/clip_image002_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/TheperfectSharePoint2010developmentenvir_11F3B/clip_image002_thumb.jpg" width="244" height="151" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now I copied this .vhd file into another folder e.g. C:\VHD\W2K8R2.vhd&lt;/p&gt;  &lt;p&gt;&lt;u&gt;To boot into that VHD file:&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;· open an elevated command prompt and run: bcdedit /copy {current} /d “SP2010”   &lt;br /&gt;(take a note of the GUID and use it in the following commands)&lt;/p&gt;  &lt;p&gt;· bcdedit /set {GUID} device vhd=[C:]\VHD\W2K8R2.vhd&lt;/p&gt;  &lt;p&gt;· bcdedit /set {GUID} osdevice vhd=[C:]\VHD\W2K8R2.vhd&lt;/p&gt;  &lt;p&gt;Now if you’re rebooting this machine you should see the new boot option “SP2010”.    &lt;br /&gt;After the machine started I executed these tasks:&lt;/p&gt;  &lt;p&gt;· activated the W2K8 feature &amp;quot;Active Directory Domain Services&amp;quot;, Desktop Experience, Wireless LAN Service&lt;/p&gt;  &lt;p&gt;· executed dcpromo to create my domain&lt;/p&gt;  &lt;p&gt;· activated the “Themes” Service&lt;/p&gt;  &lt;p&gt;· installed SQL 2008 + SP1 + CU2&lt;/p&gt;  &lt;p&gt;· installed VS.NET 2010 Beta 2&lt;/p&gt;  &lt;p&gt;· installed SharePoint 2010 Beta 2&lt;/p&gt;  &lt;p&gt;· added the SharePoint “14” folder as a library&lt;/p&gt;  &lt;p&gt;· installed SDK&lt;/p&gt;  &lt;p&gt;With that I got a very performing – and nice looking – SharePoint 2010 development machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/TheperfectSharePoint2010developmentenvir_11F3B/clip_image004_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/TheperfectSharePoint2010developmentenvir_11F3B/clip_image004_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;-thomas&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928739" width="1" height="1"&gt;</description></item><item><title>SPSite: The Web application could not be found</title><link>http://blogs.msdn.com/b/thompal/archive/2009/11/25/spsite-the-web-application-could-not-be-found.aspx</link><pubDate>Wed, 25 Nov 2009 14:30:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928555</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=9928555</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2009/11/25/spsite-the-web-application-could-not-be-found.aspx#comments</comments><description>&lt;p&gt;You’re trying to use the SharePoint 2010 server side API’s but you’re getting the exception:&lt;/p&gt;  &lt;p&gt;The Web application at http://... could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.&lt;/p&gt;  &lt;p&gt;Then the root cause is probably not:&lt;/p&gt;  &lt;p&gt;-Misconfigured AAM   &lt;br /&gt;-Missing App. Pool permissions&lt;/p&gt;  &lt;p&gt;It is probably that you’re compiling for x86 platform target.&lt;/p&gt;  &lt;p&gt;Change that to x64 and your code will probably work:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SPSiteTheWebapplicationcouldnotbefound_D9FD/clip_image002_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SPSiteTheWebapplicationcouldnotbefound_D9FD/clip_image002_thumb.jpg" width="244" height="102" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;-thomas&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928555" width="1" height="1"&gt;</description></item><item><title>Hyper-V Virtual Machine Connection and Direct Access</title><link>http://blogs.msdn.com/b/thompal/archive/2009/11/06/hyper-v-virtual-machine-connection-and-direct-access.aspx</link><pubDate>Fri, 06 Nov 2009 15:01:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918611</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=9918611</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2009/11/06/hyper-v-virtual-machine-connection-and-direct-access.aspx#comments</comments><description>&lt;p&gt;Some days ago I just wanted to create a new virtual machine on a Windows Server 2008 R2 Hyper-V laptop. After booting up that new machine from an .iso image and trying to connect using the “Virtual Machine Connection” (vmconnect.exe) application I got the error message:&lt;/p&gt;  &lt;p&gt;&lt;i&gt;“Cannot find the physical computer that runs the virtual machine. Try to flush your DNS cache (run ipconfig /flushdns). Then try to connect again. If the problem persists, contact the administrator of the physical computer or your network administrator”&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;This occurred when having no connection to a network in a pure offline scenario. The connection to an existing VM on that same machine using RDP worked just fine.&lt;/p&gt;  &lt;p&gt;After some debugging we found the root cause of this (thanks &lt;a href="http://www.linkedin.com/pub/jeromy-statia/7/a63/68"&gt;Jeromy&lt;/a&gt;!). The issue was related to the fact that the laptop was used for &lt;a href="http://www.microsoft.com/servers/directaccess.mspx"&gt;Direct Access&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;When a Hyper-V enabled machine is disconnected from the network, the Hyper-V virtual switch keeps the network adapter as connected to a network.&amp;#160; This means that the NIC will get auto-assigned addresses etc.&amp;#160; Direct Access is still active in this configuration. Most importantly the NRPT configuration is still active which prevents one of the requirements for Hyper-V server from functioning properly.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;The real problem:     &lt;br /&gt;&lt;/u&gt;Hyper-V server requires the ability to connect back to the “remote” client via resolving the FQDN of the connecting client and establishing its own TCP connection back to the “remote” client.&amp;#160; Even while managing Hyper-V locally the local tools are seen as a “remote” client and as such the Hyper-V server will extract the FQDN of the connection and attempt to do name resolution to ensure that the client that is connecting actually owns the IP address it is connecting from. With NRPT active but unable to access a Direct Access server because the Direct Access client is offline the NRPT prevents the resolution of the FQDN (it would have allowed short-name resolution to fall through and use local LLMNR except that the connection is using IPv4 and not IPv6 and thus the IP addresses would not match and the connection is denied as a “spoof” attack).&amp;#160; Once NRPT is taken out of the picture the Hyper-V server is able to properly do name resolution leveraging the local resolver and everything connects up just fine.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;The solution:     &lt;br /&gt;&lt;/u&gt;-go into the Registry and delete &amp;quot;HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\DnsPolicyConfig&amp;quot;    &lt;br /&gt;-in an elevated command prompt, enter: sc control dnscache paramchange&lt;/p&gt;  &lt;p&gt;After that the “Virtual Machine Connection” was working fine.&lt;/p&gt;  &lt;p&gt;-thomas&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918611" width="1" height="1"&gt;</description></item><item><title>Search Federation on Window 7</title><link>http://blogs.msdn.com/b/thompal/archive/2009/05/13/search-federation-on-window-7.aspx</link><pubDate>Wed, 13 May 2009 11:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9608993</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=9608993</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2009/05/13/search-federation-on-window-7.aspx#comments</comments><description>&lt;P&gt;Using Windows 7 there’s an easy way to integrate search results from various search engines into the windows explorer. By default the “Favorites” group only has entries for “Desktop”, “Downloads” and “Recent Places”:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image002_thumb.jpg" width=244 height=115 mce_src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;To add a new “Favorite” to that list e.g. to run your search queries against &lt;A href="http://www.live.com/" mce_href="http://www.live.com"&gt;www.live.com&lt;/A&gt; just copy the following XML into a file, save it as live.osdx.&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face="Courier New"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt; &lt;BR&gt;&amp;lt;OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"&amp;gt; &lt;BR&gt;&amp;lt;ShortName&amp;gt;Live Search&amp;lt;/ShortName&amp;gt; &lt;BR&gt;&amp;lt;Description&amp;gt;Use live.com to search the web index.&amp;lt;/Description&amp;gt; &lt;BR&gt;&amp;lt;Tags&amp;gt;Web&amp;lt;/Tags&amp;gt; &lt;BR&gt;&amp;lt;LongName&amp;gt;Live.com Web Search&amp;lt;/LongName&amp;gt; &lt;BR&gt;&amp;lt;Image width="16" height="16" type="image/gif"&amp;gt;http://search.live.com:80/s/rsslogo.gif&amp;lt;/Image&amp;gt; &lt;BR&gt;&amp;lt;Query role="example" searchterms="seattle"/&amp;gt; &lt;BR&gt;&amp;lt;Developer&amp;gt;Microsoft Corporation, Live Search Development Team&amp;lt;/Developer&amp;gt; &lt;BR&gt;&amp;lt;SyndicationRight&amp;gt;open&amp;lt;/SyndicationRight&amp;gt; &lt;BR&gt;&amp;lt;InputEncoding&amp;gt;UTF-8&amp;lt;/InputEncoding&amp;gt; &lt;BR&gt;&amp;lt;OutputEncoding&amp;gt;UTF-8&amp;lt;/OutputEncoding&amp;gt; &lt;BR&gt;&amp;lt;Url type="text/html" template="http://search.live.com/results.aspx?q={searchTerms}"/&amp;gt; &lt;BR&gt;&amp;lt;Url type="application/rss+xml" template="http://api.search.live.com/rss.aspx?source=web&amp;amp;amp;query={searchTerms}&amp;amp;amp;web.count=50&amp;amp;amp;mkt={language?}"/&amp;gt; &lt;BR&gt;&amp;lt;ms-ose:ResultsProcessing format="application/rss+xml" xmlns:ms-ose="http://schemas.microsoft.com/opensearchext/2009/"&amp;gt; &lt;BR&gt;&amp;lt;ms-ose:LinkIsFilePath&amp;gt;True&amp;lt;/ms-ose:LinkIsFilePath&amp;gt; &lt;BR&gt;&amp;lt;ms-ose:PropertyDefaultValues&amp;gt; &lt;BR&gt;&amp;lt;ms-ose:Property schema="http://schemas.microsoft.com/windows/2008/propertynamespace" name="System.PropList.ContentViewModeForSearch"&amp;gt;prop:~System.ItemNameDisplay;System.DateModified;~System.ItemPathDisplay;~System.Search.AutoSummary;System.LayoutPattern.PlaceHolder;System.LayoutPattern.PlaceHolder;System.LayoutPattern.PlaceHolder&amp;lt;/ms-ose:Property&amp;gt; &lt;BR&gt;&amp;lt;/ms-ose:PropertyDefaultValues&amp;gt; &lt;BR&gt;&amp;lt;/ms-ose:ResultsProcessing&amp;gt; &lt;BR&gt;&amp;lt;/OpenSearchDescription&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;After double-click that file you’ll get this message:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image004 src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image004_thumb.jpg" width=244 height=168 mce_src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Click “Add” and you’ll get “Live Search” as a new entry in your “Favorites”:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image006 src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image006_thumb.jpg" width=244 height=89 mce_src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Now you can run your search queries using Live Search directly from your Windows 7 explorer:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" border=0 alt=clip_image008 src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image008_thumb.jpg" width=244 height=170 mce_src="http://blogs.msdn.com/blogfiles/thompal/WindowsLiveWriter/SearchFederationonWindow7_943C/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Enjoy, &lt;BR&gt;thomas&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9608993" width="1" height="1"&gt;</description></item><item><title>Accessible MOSS WCM Sites</title><link>http://blogs.msdn.com/b/thompal/archive/2008/10/17/accessible-moss-wcm-sites.aspx</link><pubDate>Fri, 17 Oct 2008 19:28:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9003268</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=9003268</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2008/10/17/accessible-moss-wcm-sites.aspx#comments</comments><description>&lt;p&gt;Have you ever tried implementing a MOSS based public internet site which creates HTML code without &amp;lt;TABLES&amp;gt;?&lt;br/&gt;Are you looking for some guidance about how to implement an AA standard compliant accessible web site which can be read by screen readers or where you can modify the font size?
&lt;/p&gt;&lt;p&gt;Microsoft Switzerland together with our partner 1eEurope implemented such a web site. We published this solution with the code here on Codeplex:&lt;br/&gt;&lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=bks"&gt;http://www.codeplex.com/Wiki/View.aspx?ProjectName=bks&lt;/a&gt;&lt;br/&gt;After installing this solution you get a complete starter site with master-page, content-page and content types which can be used as the base for your project.
&lt;/p&gt;&lt;p&gt;Here's how the sample site looks like:&lt;a href="http://bks.1eeurope.ch/en-US/Pages/default.aspx"&gt;&lt;img src="http://blogs.msdn.com/blogfiles/thompal/101708_1628_AccessibleM1.png" alt="" border="0"/&gt;&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;You can find this sample site here: &lt;a href="http://bks.1eeurope.ch/en-US/Pages/default.aspx"&gt;http://bks.1eeurope.ch/en-US/Pages/default.aspx&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;Enjoy,&lt;br/&gt;thomas&lt;span style="font-family:Times New Roman; font-size:12pt"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9003268" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/thompal/archive/tags/WCM/">WCM</category></item><item><title>Improving performance for stsadm -o export and import</title><link>http://blogs.msdn.com/b/thompal/archive/2008/04/14/improving-performance-for-stsadm-o-export-and-import.aspx</link><pubDate>Mon, 14 Apr 2008 18:20:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8393069</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=8393069</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2008/04/14/improving-performance-for-stsadm-o-export-and-import.aspx#comments</comments><description>&lt;p&gt;Last week we've migrated content from one farm to another using stsadm –o export / import. The export of the 2GB Content DB took around 2 hours. The import of that content into the new farm took around 5 hours. During that import process we found a nice option for speeding up the import process. After executing:
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New"&gt;Netsh int ip set chimney DISABLED
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;The import process was really speeding up. It seems that some servers are having issues with this TCP Offloading functionality. You can find additional information about this topic here:&lt;br/&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb878074.aspx"&gt;http://technet.microsoft.com/en-us/library/bb878074.aspx&lt;/a&gt;
		&lt;br/&gt;&lt;a href="http://blogs.technet.com/sbs/archive/2007/04/24/common-networking-issues-after-applying-windows-server-2003-sp2-on-sbs.aspx"&gt;http://blogs.technet.com/sbs/archive/2007/04/24/common-networking-issues-after-applying-windows-server-2003-sp2-on-sbs.aspx&lt;/a&gt;
		&lt;br/&gt;&lt;a href="http://sigicom.blogspot.com/2008/03/tcp-offloading-chimney-von-sp2.html"&gt;http://sigicom.blogspot.com/2008/03/tcp-offloading-chimney-von-sp2.html&lt;/a&gt;
	&lt;/p&gt;&lt;p&gt;Thanks Martin!
&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8393069" width="1" height="1"&gt;</description></item><item><title>How to overwrite styles of the core.css stylesheet</title><link>http://blogs.msdn.com/b/thompal/archive/2008/04/04/how-to-overwrite-styles-of-the-core-css-stylesheet.aspx</link><pubDate>Fri, 04 Apr 2008 10:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8356036</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=8356036</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2008/04/04/how-to-overwrite-styles-of-the-core-css-stylesheet.aspx#comments</comments><description>&lt;P&gt;With the default behavior of a SharePoint page the core.css is rendered always as the last stylesheet. This is implemented using the control: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;&amp;lt;Sharepoint:CssLink runat="server"/&amp;gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;Using this control the style sheets will render like this: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;&amp;lt;link rel="stylesheet" type="text/css" href="http://blogs.msdn.com/_layouts/1033/styles/controls.css?rev=EhwiQKSLiI%2F4dGDs6DyUdQ%3D%3D" mce_href="http://blogs.msdn.com/_layouts/1033/styles/controls.css?rev=EhwiQKSLiI%2F4dGDs6DyUdQ%3D%3D"/&amp;gt;&lt;BR&gt;&amp;lt;link rel="stylesheet" type="text/css" href="http://blogs.msdn.com/Style%20Library/en-US/Core%20Styles/pageLayouts.css" mce_href="http://blogs.msdn.com/Style%20Library/en-US/Core%20Styles/pageLayouts.css"/&amp;gt;&lt;BR&gt;&amp;lt;link rel="stylesheet" type="text/css" href="http://blogs.msdn.com/_layouts/1033/styles/&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;core.css&lt;/SPAN&gt;?rev=baCjtd5mQmxwkFlwbFgfgQ%3D%3D"/&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;This is an issue when you're trying to overwrite some styles which are defined in this core.css file. &lt;BR&gt;&lt;BR&gt;To fix this you can either implement a custom component which is derived from CssLink (as described &lt;A href="http://www.sharepointblogs.com/michael/archive/2007/07/16/sharepoint-s-core-css-stylesheet-put-it-to-where-it-belongs.aspx" mce_href="http://www.sharepointblogs.com/michael/archive/2007/07/16/sharepoint-s-core-css-stylesheet-put-it-to-where-it-belongs.aspx"&gt;here&lt;/A&gt;) or use the "AdditionalPageHead" placeholder: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;&amp;lt;asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server&lt;/SPAN&gt;"&amp;gt; &lt;/P&gt;
&lt;P&gt;Using this placeholder you can easily overwrite the default style either inline or in a separate stylesheet.&lt;SPAN style="TEXT-DECORATION: underline"&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;&amp;lt;asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server"&amp;gt;&lt;BR&gt;&amp;lt;style type="text/css"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; .ms-sitemapdirectional,.ms-sitemapdirectional a{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; unicode-bidi:embed;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; background:#FF0000;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/style&amp;gt;&lt;BR&gt;&amp;lt;/asp:ContentPlaceHolder&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8356036" width="1" height="1"&gt;</description></item><item><title>How to use MOSS output caching with custom parameters</title><link>http://blogs.msdn.com/b/thompal/archive/2008/03/19/how-to-use-moss-output-caching-with-custom-parameters.aspx</link><pubDate>Thu, 20 Mar 2008 00:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8326301</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=8326301</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2008/03/19/how-to-use-moss-output-caching-with-custom-parameters.aspx#comments</comments><description>&lt;P&gt;In MOSS there are three different types of caching available: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Output caching &lt;/LI&gt;
&lt;LI&gt;BLOB Cache &lt;/LI&gt;
&lt;LI&gt;Object Cache &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can find a very detailed description about these three options here: &lt;A href="http://blogs.msdn.com/ecm/archive/2006/11/08/how-to-make-your-moss-2007-web-site-faster-with-caching.aspx" mce_href="http://blogs.msdn.com/ecm/archive/2006/11/08/how-to-make-your-moss-2007-web-site-faster-with-caching.aspx"&gt;http://blogs.msdn.com/ecm/archive/2006/11/08/how-to-make-your-moss-2007-web-site-faster-with-caching.aspx&lt;/A&gt; . &lt;/P&gt;
&lt;P&gt;If you want to use output caching for the anonymous user of your site but you want to cache these pages also based on some custom parameters like cookie values or query string parameters you should follow these steps: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Go to the "Site Collection Cache Profiles" on the site settings of your web application and edit the properties of the profile "Public Internet (Purely Anonymous)". In the "VARY BY CUSTOM PARAMETER" section you can enter your custom parameters e.g. "CookieValues" and "Country" (semicolon separated): &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/031908_2126_HowtouseMOS1.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/031908_2126_HowtouseMOS1.png"&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.&amp;nbsp;&amp;nbsp;&amp;nbsp; The next step is to tell your web application about your CustomCachingHttpApplication in the global.asax file: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;@&lt;/SPAN&gt; &lt;SPAN style="COLOR: #a31515"&gt;Assembly&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Microsoft.SharePoint"&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;@&lt;/SPAN&gt; &lt;SPAN style="COLOR: #a31515"&gt;Assembly&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="&amp;lt;assemblyfullname&amp;gt;"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;@&lt;/SPAN&gt; &lt;SPAN style="COLOR: #a31515"&gt;Import&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="&amp;lt;your_namespace&amp;gt;"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;@&lt;/SPAN&gt; &lt;SPAN style="COLOR: #a31515"&gt;Application&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Language&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="C#"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Inherits&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="&amp;lt;your_namespace&amp;gt;.CustomCachingHttpApplication"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;&amp;nbsp; The last step is implementing this CustomCachingHttpApplication class: &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Collections.Generic; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.ComponentModel; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Text; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI.WebControls; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.SharePoint.Publishing; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.SharePoint.ApplicationRuntime; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.SharePoint; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;namespace&lt;/SPAN&gt; &amp;lt;your_namespace&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;CookieCachingHttpApplication&lt;/SPAN&gt; : &lt;SPAN style="COLOR: #2b91af"&gt;SPHttpApplication&lt;/SPAN&gt;, &lt;BR&gt;&lt;SPAN style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IVaryByCustomHandler&amp;nbsp;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Init() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;base&lt;/SPAN&gt;.Init();&lt;BR&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this&lt;/SPAN&gt;.RegisterGetVaryByCustomStringHandler &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((Microsoft.SharePoint.ApplicationRuntime.&lt;SPAN style="COLOR: #2b91af"&gt;IVaryByCustomHandler&lt;/SPAN&gt;)&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 35pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; GetVaryByCustomString(&lt;SPAN style="COLOR: #2b91af"&gt;HttpApplication&lt;/SPAN&gt; app, &lt;SPAN style="COLOR: #2b91af"&gt;HttpContext&lt;/SPAN&gt; context, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; custom) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] strings = custom.Split(&lt;SPAN style="COLOR: #a31515"&gt;';'&lt;/SPAN&gt;); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; cacheKey = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; arg &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; strings) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (arg.ToLower() == &lt;SPAN style="COLOR: #a31515"&gt;"cookievalues"&lt;/SPAN&gt;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: #2b91af"&gt;HttpCookie&lt;/SPAN&gt; countryCookie = context.Request.Cookies &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [System.Web.Configuration.&lt;SPAN style="COLOR: #2b91af"&gt;WebConfigurationManager&lt;/SPAN&gt;.AppSettings[&lt;SPAN style="COLOR: #a31515"&gt;"CookieCountry"&lt;/SPAN&gt;]]; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpCookie&lt;/SPAN&gt; languageCookie = &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;context.Request.Cookies&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [System.Web.Configuration.&lt;SPAN style="COLOR: #2b91af"&gt;WebConfigurationManager&lt;/SPAN&gt;.AppSettings[&lt;SPAN style="COLOR: #a31515"&gt;"CookieLanguage"&lt;/SPAN&gt;]]; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/SPAN&gt; (countryCookie != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; languageCookie != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;cacheKey += countryCookie.Value + languageCookie.Value; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if&lt;/SPAN&gt; (arg.ToLower() == &lt;SPAN style="COLOR: #a31515"&gt;"country"&lt;/SPAN&gt;) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;cacheKey += context.Request[&lt;SPAN style="COLOR: #a31515"&gt;"Country"&lt;/SPAN&gt;]; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return&lt;/SPAN&gt; cacheKey; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;With that your pages are now cached depending on the cookie values "CookieCountry" and "CookieLanguage" and the query string parameter "Country". &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8326301" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/thompal/archive/tags/WCM/">WCM</category></item><item><title>Could not find file “C:\WINDOWS\system32\drivers\etc\HOSTS“</title><link>http://blogs.msdn.com/b/thompal/archive/2007/11/28/could-not-find-file-c-windows-system32-drivers-etc-hosts.aspx</link><pubDate>Wed, 28 Nov 2007 22:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6583980</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=6583980</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2007/11/28/could-not-find-file-c-windows-system32-drivers-etc-hosts.aspx#comments</comments><description>&lt;P&gt;If you find this event:&lt;BR&gt;Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administratin.SearchServiceInstant &amp;lt;guid&amp;gt; &lt;/P&gt;
&lt;P&gt;Could not find file "C:\WINDOWS\system32\drivers\etc\HOSTS" &lt;/P&gt;
&lt;P&gt;In your event logs of your MOSS box the "Office SharePoint Server Search" service is probably the root of this. &lt;/P&gt;
&lt;P&gt;If the WSS_ADMIN_WPG group has 'Modify' permissions on this folder with the HOSTS file the "Office SharePoint Server Search" service will create new entries there instead of using a DNS. When enabling the "Office SharePoint Server Search" Service on the "Services on Server" page, if you chose a dedicated WFE for crawling, the search process will add entries to this HOSTS file to ensure that it crawls through that dedicated WFE. &lt;/P&gt;
&lt;P&gt;Removing the setting for a dedicated WFE should be sufficient to remove the entry from the HOSTS file. &lt;/P&gt;
&lt;P&gt;-thomas&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6583980" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/thompal/archive/tags/Search/">Search</category></item><item><title>Implementing a multi-lingual internet site based on MOSS2007</title><link>http://blogs.msdn.com/b/thompal/archive/2007/11/02/implementing-a-multi-lingual-internet-site-based-on-moss2007.aspx</link><pubDate>Fri, 02 Nov 2007 19:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5839476</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=5839476</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2007/11/02/implementing-a-multi-lingual-internet-site-based-on-moss2007.aspx#comments</comments><description>&lt;P&gt;One of the requirements for the implementation of &lt;A href="http://www.swiss.com/" mce_href="http://www.swiss.com"&gt;www.swiss.com&lt;/A&gt; was supporting several countries with their languages and showing local content on the homepage for each individual country. The red box in the following screenshot marks this area for the local content where you can find the local content for "Switzerland" in "German". &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin1.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin1.png"&gt; &lt;/P&gt;
&lt;P&gt;Using such a concept would allow a user to select the country (and language if there are several languages within this country) and the homepage will render this content which is specific to this country on a pre-defined section of the homepage. For selecting the country and language we've implemented this control on the homepage: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin2.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin2.png"&gt; &lt;/P&gt;
&lt;P&gt;Clicking on the country drop-down opens the list of supported countries: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin3.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin3.png"&gt; &lt;/P&gt;
&lt;P&gt;After selecting for example "Switzerland" and "German" these controls will change into German: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin4.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin4.png"&gt; &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin5.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin5.png"&gt; &lt;/P&gt;
&lt;P&gt;All of that was implemented with a combination of variations and a hierarchy of sub-webs for managing the country specific content. The main content of the whole site is managed under the variations "DE" (German), "EN" (English), "ES" (Spanish), "FR" (French) and "IT" (Italian): &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin6.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin6.png"&gt; &lt;/P&gt;
&lt;P&gt;The country specific content is stored under this hierarchy of sub-webs: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin7.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/110207_1628_Implementin7.png"&gt; &lt;/P&gt;
&lt;P&gt;For combining the main content which is managed under the variations and the local content we're simply using a web part which renders this local content on the home page. &lt;/P&gt;
&lt;P&gt;-thomas &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5839476" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/thompal/archive/tags/WCM/">WCM</category></item><item><title>Technorati Profile Test</title><link>http://blogs.msdn.com/b/thompal/archive/2007/10/23/technorati-profile-test.aspx</link><pubDate>Tue, 23 Oct 2007 16:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5623826</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=5623826</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2007/10/23/technorati-profile-test.aspx#comments</comments><description>&lt;A href="http://technorati.com/claim/mfce76bk6t" rel=me mce_href="http://technorati.com/claim/mfce76bk6t"&gt;Technorati Profile&lt;/A&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5623826" width="1" height="1"&gt;</description></item><item><title>Developing a custom field control</title><link>http://blogs.msdn.com/b/thompal/archive/2007/10/22/developing-a-custom-field-control.aspx</link><pubDate>Mon, 22 Oct 2007 18:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5601709</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=5601709</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2007/10/22/developing-a-custom-field-control.aspx#comments</comments><description>&lt;P&gt;Let's start with a discussion about why you would need a custom filed control?&lt;BR&gt;Well let's have a look at this page. On this page you can find several offers (in the red box). These offers are simply a list with the destination, price and a url. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga1.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga1.png"&gt; &lt;/P&gt;
&lt;P&gt;The easiest solution for editing these offers would be adding a RichText field control (or two in our scenario) onto your page. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga2.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga2.png"&gt; &lt;/P&gt;
&lt;P&gt;With that however the editing experience for an author is not very exciting. She would have to edit the HTML code for this RichText field control: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga3.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga3.png"&gt; &lt;/P&gt;
&lt;P&gt;So we came up with the idea to implement a custom field control which takes only the necessary data from the author and which renders itself onto the page. The necessary data for our offers scenario are: Title, for each offer: destination, price, url, the text for the link "More offers" and the underlying url and a field with some additional information. The initial prototype for this custom field control looked like this: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga4.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga4.png"&gt; &lt;/P&gt;
&lt;P&gt;Using these fields an author can provide the necessary information for our offers page. Once the page is published the field control renders its content like this: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga5.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga5.png"&gt; &lt;/P&gt;
&lt;P&gt;The downside of this approach was that we've limited our self to create two offers only. We wanted to have a dynamic list of offers where an author can decide how many offers she wants to create on a specific page. So we've prototyped such a control using a standard ASP.NET 2.0 page with a GridView which is bound to an ObjectDataSource. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga6.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga6.png"&gt; &lt;/P&gt;
&lt;P&gt;The last step was to integrate this control into the custom field control which can be used by SharePoint on a Page Layout. The following screen-shot show two instances of this new field control. &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga7.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga7.png"&gt; &lt;/P&gt;
&lt;P&gt;Each row with the offer details has a button for editing or deleting this offer. Switching an offer into edit mode allows the author to modify this specific offer: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga8.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/102207_1524_Developinga8.png"&gt; &lt;/P&gt;
&lt;P&gt;So now after we finished the author's view of this custom field control let's have a look at the development side. We basically need 3 files: &lt;/P&gt;
&lt;P&gt;-an .ascx file with the UI of the custom field control&lt;BR&gt;-an .xml file with the description of the control&lt;BR&gt;-the actual file where we implement the control &lt;/P&gt;
&lt;P&gt;I'm listing these 3 files below. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;.ascx file for the UI. This file has to be copied into the folder: "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES" &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;@&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;Control&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Language&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="C#"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Debug&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="true"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;@&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Assembly&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;@&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Register&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;TagPrefix&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="SharePoint"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Assembly&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral,PublicKeyToken=71e9bce111e9429c"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Microsoft.SharePoint.WebControls"&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;SharePoint&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;RenderingTemplate&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="OffersFieldRendering"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Template&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;Title: &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtTitle"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="196px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;GridView&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;DataSourceID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="objOffersCollection"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="grdOffers"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;ShowHeader&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="False" &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;AutoGenerateColumns&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="False"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;DataKeyNames&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=""&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;ShowFooter&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="True"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;BorderWidth&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="0px" &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="200px" &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Columns&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TemplateField&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;HeaderText&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=""&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ControlStyle-Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=""&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;FooterStyle-Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=""&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;HeaderStyle-Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=""&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ItemStyle-Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=""&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ul&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="listitem_redright_dotted"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;style&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="width: 160px; height: 14px;"&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;li&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;#&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;String&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;a title='' href='{0}'&amp;gt;&amp;lt;span class=right&amp;gt;{1}&amp;lt;/span&amp;gt;{2}&amp;lt;/a&amp;gt;"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;DataBinder&lt;/SPAN&gt;.Eval(Container.DataItem, &lt;SPAN style="COLOR: maroon"&gt;"Url"&lt;/SPAN&gt;), &lt;SPAN style="COLOR: teal"&gt;DataBinder&lt;/SPAN&gt;.Eval(Container.DataItem, &lt;SPAN style="COLOR: maroon"&gt;"Price"&lt;/SPAN&gt;), &lt;SPAN style="COLOR: teal"&gt;DataBinder&lt;/SPAN&gt;.Eval(Container.DataItem, &lt;SPAN style="COLOR: maroon"&gt;"Destination"&lt;/SPAN&gt;))&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;li&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ul&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;EditItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;Destination: &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtDestination"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt; #DataBinder.Eval(Container.DataItem, "Destination") &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;'&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="160px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;Price: &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtPrice"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt; #DataBinder.Eval(Container.DataItem, "Price") &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;'&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="160px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;URL: &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtUrl"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt; #DataBinder.Eval(Container.DataItem, "Url") &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;'&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="160px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;EditItemTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;FooterTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;Destination (for new Offer): &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtAddDestination"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ToolTip&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="please enter the destination"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="160px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;Price (for new Offer): &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtAddPrice"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ToolTip&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="please enter the price"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="160px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;URL (for new Offer): &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtAddUrl"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ToolTip&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="please enter the URL"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="160px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ImageButton&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="btnAdd"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;AlternateText&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Add"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;CommandName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="AddOffer"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Add"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ImageUrl&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='&lt;/SPAN&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;# "~/Style%20Library/images/buttons/button_add.gif" &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;'&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;FooterTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TemplateField&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;CommandField&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ButtonType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Link"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ShowEditButton&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="True"&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;itemstyle&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="8px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;CommandField&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;CommandField&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ButtonType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Link"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ShowDeleteButton&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="True"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;itemstyle&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="8px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;CommandField&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Columns&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;GridView&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ObjectDataSource&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;DeleteMethod&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="DeleteOffer"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;InsertMethod&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="AddOffer"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="objOffersCollection"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;SelectMethod&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="GetAllOffersAsDataSet"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;FilterExpression&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="controlid='' OR controlid='{0}'" &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;UpdateMethod&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="UpdateOffer"&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;TypeName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="Swiss.WebParts.OffersCollection" &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: red"&gt;EnableCaching&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="False" &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ObjectDataSource&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;More Offers: &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtMoreOffersText"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="More offers"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="196px"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;URL: &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtMoreOffersUrl"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="196px"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;Information: &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="txtInformation"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Text&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=""&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;TextMode&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="MultiLine"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Height&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="40px"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Width&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="196px"&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Template&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;SharePoint&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;RenderingTemplate&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The .xml file with the description of the field types. This file has to be copied into the directory: "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML" &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;FieldTypes&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;FieldType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;TypeName&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;Offers&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;ParentType&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;MultiColumn&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;TypeDisplayName&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;Offers&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;TypeShortDescription&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;Offers (editing a list of offers)&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;UserCreatable&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;TRUE&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;ShowOnListAuthoringPages&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;TRUE&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;ShowOnDocumentLibraryAuthoringPages&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;TRUE&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;ShowOnSurveyAuthoringPages&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;TRUE&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;ShowOnColumnTemplateAuthoringPages&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;TRUE&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;FieldTypeClass&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;Swiss.WebParts.FieldOffers, Swiss.WebParts, Version=1.0.0.1, Culture=neutral, PublicKeyToken=585fff093fa85341&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;PropertySchema&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Fields&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;DefaultTitle&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;DisplayName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;Default Title:&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;MaxLength&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;250&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;DisplaySize&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;30&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;Text&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Default&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Default&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Field&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Fields&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;PropertySchema&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;RenderPattern&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;DisplayPattern&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;RenderPattern&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;FieldType&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;FieldTypes&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;The .cs file with the actual implementation of the custom field control: &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Collections; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Collections.Generic; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Text; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Data; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.SharePoint; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.SharePoint.WebControls; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI.WebControls; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.IO; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Text.RegularExpressions; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;namespace&lt;/SPAN&gt; Sample.WebParts &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;#region&lt;/SPAN&gt; Offers FieldControl &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;#region&lt;/SPAN&gt; FieldOffersValue (Definition of the necessary values for storing the 'Offer' information.) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;FieldOffersValue&lt;/SPAN&gt; : &lt;SPAN style="COLOR: teal"&gt;SPFieldMultiColumnValue &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;const&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; numberOfFields = 5; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; FieldOffersValue() &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;: &lt;SPAN style="COLOR: blue"&gt;base&lt;/SPAN&gt;(numberOfFields) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; FieldOffersValue(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; value) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;: &lt;SPAN style="COLOR: blue"&gt;base&lt;/SPAN&gt;(value) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; Holds the title of an offer. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Title &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[0]; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[0] = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; Stores all 'Offers' records separated by \t. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; OffersData &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[1]; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[1] = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; Stores the text for the 'More Offers' link &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; MoreOffersText &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[2]; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[2] = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; Stores the URL for the 'More Offers' link &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; MoreOffersUrl &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[3]; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[3] = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; Stores the text for the additional information which can be defined for an offer. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Information &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[4]; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;[4] = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: ProggyCleanTT"&gt;#endregion &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;#region&lt;/SPAN&gt; FieldOffers (Communication with the values) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;FieldOffers&lt;/SPAN&gt; : &lt;SPAN style="COLOR: teal"&gt;SPFieldMultiColumn &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; FieldOffers(&lt;SPAN style="COLOR: teal"&gt;SPFieldCollection&lt;/SPAN&gt; fields, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; fieldName) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;: &lt;SPAN style="COLOR: blue"&gt;base&lt;/SPAN&gt;(fields, fieldName) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; FieldOffers(&lt;SPAN style="COLOR: teal"&gt;SPFieldCollection&lt;/SPAN&gt; fields, &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; typeName, &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; displayName) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;: &lt;SPAN style="COLOR: blue"&gt;base&lt;/SPAN&gt;(fields, typeName, displayName) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;BaseFieldControl&lt;/SPAN&gt; FieldRenderingControl &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;BaseFieldControl&lt;/SPAN&gt; fldControl = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;OffersFieldControl&lt;/SPAN&gt;(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;fldControl.FieldName = InternalName; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; fldControl; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; GetFieldValue(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; value) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.IsNullOrEmpty(value)) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;FieldOffersValue&lt;/SPAN&gt;(value); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: ProggyCleanTT"&gt;#endregion &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;#region&lt;/SPAN&gt; OffersFieldControl (The user control) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;OffersFieldControl&lt;/SPAN&gt; : &lt;SPAN style="COLOR: teal"&gt;BaseFieldControl &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt; txtTitle; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ObjectDataSource&lt;/SPAN&gt; objOffersCollection; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;GridView&lt;/SPAN&gt; grdOffers; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt; txtMoreOffersText; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt; txtMoreOffersUrl; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt; txtInformation; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;OffersCollection&lt;/SPAN&gt; _dsOffersCollection = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;OffersCollection&lt;/SPAN&gt;(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; DefaultTemplateName &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;"OffersFieldRendering"&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; Value &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// called when submitting the content for approval &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;EnsureChildControls(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;FieldOffersValue&lt;/SPAN&gt; fieldValue = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;FieldOffersValue&lt;/SPAN&gt;(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;fieldValue.Title = txtTitle.Text.Trim(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;fieldValue.OffersData = _dsOffersCollection.GetOffersData(&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.ID); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;fieldValue.MoreOffersText = txtMoreOffersText.Text.Trim(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;fieldValue.MoreOffersUrl = txtMoreOffersUrl.Text.Trim(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;fieldValue.Information = txtInformation.Text.Trim(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; fieldValue; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// called when editing the page &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;EnsureChildControls(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;FieldOffersValue&lt;/SPAN&gt; fieldValue = (&lt;SPAN style="COLOR: teal"&gt;FieldOffersValue&lt;/SPAN&gt;)&lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtTitle.Text = fieldValue.Title; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_dsOffersCollection.SetOffersData(&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.ID, fieldValue.OffersData); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersText.Text = fieldValue.MoreOffersText; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersUrl.Text = fieldValue.MoreOffersUrl; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtInformation.Text = fieldValue.Information; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Focus() &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;EnsureChildControls(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.DataBind(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtTitle.Focus(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; CreateChildControls() &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (Field == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;base&lt;/SPAN&gt;.CreateChildControls(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (ControlMode == &lt;SPAN style="COLOR: teal"&gt;SPControlMode&lt;/SPAN&gt;.Display) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtTitle = (&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)TemplateContainer.FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtTitle"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (txtTitle == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ArgumentException&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Corrupted OffersFieldRendering template - missing txtTitle."&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtTitle.TabIndex = TabIndex; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtTitle.CssClass = CssClass; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtTitle.ToolTip = &lt;SPAN style="COLOR: maroon"&gt;"please enter a Title"&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection = (&lt;SPAN style="COLOR: teal"&gt;ObjectDataSource&lt;/SPAN&gt;)TemplateContainer.FindControl(&lt;SPAN style="COLOR: maroon"&gt;"objOffersCollection"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (objOffersCollection == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ArgumentException&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Corrupted OffersFieldRendering template - missing objOffersCollection."&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.ObjectCreating += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ObjectDataSourceObjectEventHandler&lt;/SPAN&gt;(objOffersCollection_ObjectCreating); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.Filtering += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ObjectDataSourceFilteringEventHandler&lt;/SPAN&gt;(objOffersCollection_Filtering); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers = (&lt;SPAN style="COLOR: teal"&gt;GridView&lt;/SPAN&gt;)TemplateContainer.FindControl(&lt;SPAN style="COLOR: maroon"&gt;"grdOffers"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (grdOffers == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ArgumentException&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Corrupted OffersFieldRendering template - missing grdOffers."&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.TabIndex = TabIndex; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.CssClass = CssClass; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.ToolTip = &lt;SPAN style="COLOR: maroon"&gt;"please use these edit fields to add a new Offer"&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.RowCancelingEdit += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;GridViewCancelEditEventHandler&lt;/SPAN&gt;(grdOffers_RowCancelingEdit); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.RowEditing += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;GridViewEditEventHandler&lt;/SPAN&gt;(grdOffers_RowEditing); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.RowUpdating += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;GridViewUpdateEventHandler&lt;/SPAN&gt;(grdOffers_RowUpdating); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.RowDeleting += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;GridViewDeleteEventHandler&lt;/SPAN&gt;(grdOffers_RowDeleting); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.RowCommand += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;GridViewCommandEventHandler&lt;/SPAN&gt;(grdOffers_RowCommand); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.RowDataBound += &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;GridViewRowEventHandler&lt;/SPAN&gt;(grdOffers_RowDataBound); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// set the url's for the command button images &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// unfortunately this cannot be done in the .ascx file using CodeExpressions &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; i = 0; i &amp;lt; grdOffers.Columns.Count; i++) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;DataControlField&lt;/SPAN&gt; field = grdOffers.Columns[i]; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (field &lt;SPAN style="COLOR: blue"&gt;is&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;CommandField&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; editImageUrl = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"{0}/Style%20Library/images/buttons/button_edit.gif"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;SPContext&lt;/SPAN&gt;.Current.Site.Url); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; cancelImageUrl = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"{0}/Style%20Library/images/buttons/button_cancel.gif"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;SPContext&lt;/SPAN&gt;.Current.Site.Url); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; deleteImageUrl = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"{0}/Style%20Library/images/buttons/button_delete.gif"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;SPContext&lt;/SPAN&gt;.Current.Site.Url); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; updateImageUrl = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"{0}/Style%20Library/images/buttons/button_update.gif"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;SPContext&lt;/SPAN&gt;.Current.Site.Url); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; editText = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;img src='{0}' alt='Edit' border='0' /&amp;gt;"&lt;/SPAN&gt;, editImageUrl); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; cancelText = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;img src='{0}' alt='Cancel' border='0' /&amp;gt;"&lt;/SPAN&gt;, cancelImageUrl); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; deleteText = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;img src='{0}' alt='Delete' border='0' /&amp;gt;"&lt;/SPAN&gt;, deleteImageUrl); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; updateText = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;img src='{0}' alt='Update' border='0' /&amp;gt;"&lt;/SPAN&gt;, updateImageUrl); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;CommandField&lt;/SPAN&gt; cmdField = (&lt;SPAN style="COLOR: teal"&gt;CommandField&lt;/SPAN&gt;)field; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (cmdField != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;//cmdField.EditImageUrl = editImageUrl; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;//cmdField.CancelImageUrl = cancelImageUrl; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;//cmdField.DeleteImageUrl = deleteImageUrl; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;//cmdField.DeleteText = deleteImageUrl; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;cmdField.EditText = editText; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;cmdField.CancelText = cancelText; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;cmdField.DeleteText = deleteText; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;cmdField.UpdateText = updateText; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersText = (&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)TemplateContainer.FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtMoreOffersText"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (txtMoreOffersText == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ArgumentException&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Corrupted OffersFieldRendering template - missing txtMoreOffersText."&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersText.TabIndex = TabIndex; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersText.CssClass = CssClass; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersText.ToolTip = &lt;SPAN style="COLOR: maroon"&gt;"please enter the text for the 'More Offers' link"&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersUrl = (&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)TemplateContainer.FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtMoreOffersUrl"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (txtMoreOffersUrl == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ArgumentException&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Corrupted OffersFieldRendering template - missing txtMoreOffersUrl."&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersUrl.TabIndex = TabIndex; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersUrl.CssClass = CssClass; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtMoreOffersUrl.ToolTip = &lt;SPAN style="COLOR: maroon"&gt;"please enter the URL for the 'More Offers' link"&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtInformation = (&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)TemplateContainer.FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtInformation"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (txtInformation == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;ArgumentException&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Corrupted OffersFieldRendering template - missing txtInformation."&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtInformation.TabIndex = TabIndex; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtInformation.CssClass = CssClass; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtInformation.ToolTip = &lt;SPAN style="COLOR: maroon"&gt;"please enter the additional Information for these Offers"&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (ControlMode == &lt;SPAN style="COLOR: teal"&gt;SPControlMode&lt;/SPAN&gt;.New) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;txtTitle.Text = Field.GetCustomProperty(&lt;SPAN style="COLOR: maroon"&gt;"DefaultTitle"&lt;/SPAN&gt;).ToString(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; grdOffers_RowEditing(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: teal"&gt;GridViewEditEventArgs&lt;/SPAN&gt; e) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.EditIndex = e.NewEditIndex; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; grdOffers_RowCancelingEdit(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: teal"&gt;GridViewCancelEditEventArgs&lt;/SPAN&gt; e) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.EditIndex = -1; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; grdOffers_RowUpdating(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: teal"&gt;GridViewUpdateEventArgs&lt;/SPAN&gt; e) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; destination = ((&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)grdOffers.Rows[e.RowIndex].FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtDestination"&lt;/SPAN&gt;)).Text; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; price = ((&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)grdOffers.Rows[e.RowIndex].FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtPrice"&lt;/SPAN&gt;)).Text; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; url = ((&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)grdOffers.Rows[e.RowIndex].FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtUrl"&lt;/SPAN&gt;)).Text; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; row = e.RowIndex; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.UpdateParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"Row"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;TypeCode&lt;/SPAN&gt;.Int32, row.ToString()); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.UpdateParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"ControlId"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;TypeCode&lt;/SPAN&gt;.String, &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.ID); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.UpdateParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"Destination"&lt;/SPAN&gt;, destination); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.UpdateParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"Price"&lt;/SPAN&gt;, price); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.UpdateParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"Url"&lt;/SPAN&gt;, url); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.Update(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;grdOffers.EditIndex = -1; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; grdOffers_RowDeleting(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: teal"&gt;GridViewDeleteEventArgs&lt;/SPAN&gt; e) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; row = e.RowIndex; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.DeleteParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"Row"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;TypeCode&lt;/SPAN&gt;.Int32, row.ToString()); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.DeleteParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"ControlId"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;TypeCode&lt;/SPAN&gt;.String, &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.ID); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.Delete(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;e.Cancel = &lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; grdOffers_RowCommand(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: teal"&gt;GridViewCommandEventArgs&lt;/SPAN&gt; e) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (e.CommandName == &lt;SPAN style="COLOR: maroon"&gt;"AddOffer"&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (objOffersCollection != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; destination = ((&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)grdOffers.FooterRow.FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtAddDestination"&lt;/SPAN&gt;)).Text; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; price = ((&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)grdOffers.FooterRow.FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtAddPrice"&lt;/SPAN&gt;)).Text; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; url = ((&lt;SPAN style="COLOR: teal"&gt;TextBox&lt;/SPAN&gt;)grdOffers.FooterRow.FindControl(&lt;SPAN style="COLOR: maroon"&gt;"txtAddUrl"&lt;/SPAN&gt;)).Text; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.InsertParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"Destination"&lt;/SPAN&gt;, destination); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.InsertParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"Price"&lt;/SPAN&gt;, price); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.InsertParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"Url"&lt;/SPAN&gt;, url); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.InsertParameters.Add(&lt;SPAN style="COLOR: maroon"&gt;"ControlId"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.ID); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;objOffersCollection.Insert(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; grdOffers_RowDataBound(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: teal"&gt;GridViewRowEventArgs&lt;/SPAN&gt; e) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (e.Row.RowType == &lt;SPAN style="COLOR: teal"&gt;DataControlRowType&lt;/SPAN&gt;.DataRow) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (e.Row.RowIndex == 0) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// the first row of the object data source contains an empty record. Without that empty record the GridView &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// would not be visible (I think this is a bug in the GridView). For displaying the GridView also when &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// no data is available we've created this empty record in the object data source. However this empty &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// record will be hidden. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (e.Row.Cells[0].Text == &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty &amp;amp;&amp;amp; e.Row.Cells[1].Text == &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty &amp;amp;&amp;amp; e.Row.Cells[2].Text == &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;e.Row.Visible = &lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; objOffersCollection_ObjectCreating(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: teal"&gt;ObjectDataSourceEventArgs&lt;/SPAN&gt; e) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;e.ObjectInstance = _dsOffersCollection; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; objOffersCollection_Filtering(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: teal"&gt;ObjectDataSourceFilteringEventArgs&lt;/SPAN&gt; e) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;e.ParameterValues.Clear(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;e.ParameterValues.Add(&lt;SPAN style="COLOR: maroon"&gt;"controlid"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.ID); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; RenderFieldForDisplay(&lt;SPAN style="COLOR: teal"&gt;HtmlTextWriter&lt;/SPAN&gt; output) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (Field == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; offersRowFormat = &lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;li&amp;gt;&amp;lt;a title='' href='{2}'&amp;gt;&amp;lt;span class=right&amp;gt;{1}&amp;lt;/span&amp;gt;{0}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;"&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; offersRows = &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;StringBuilder&lt;/SPAN&gt; sb = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;StringBuilder&lt;/SPAN&gt;(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (ItemFieldValue &lt;SPAN style="COLOR: blue"&gt;is&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;FieldOffersValue&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;FieldOffersValue&lt;/SPAN&gt; fov = (&lt;SPAN style="COLOR: teal"&gt;FieldOffersValue&lt;/SPAN&gt;)ItemFieldValue; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (fov != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; title = fov.Title; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; offersData = fov.OffersData; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; moreOffersText = fov.MoreOffersText; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; moreOffersUrl = fov.MoreOffersUrl; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; information = fov.Information; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;h3 class=top&amp;gt;{0}&amp;lt;/h3&amp;gt;"&lt;/SPAN&gt;, title)); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;ul class='listitem_redright_dotted'&amp;gt;"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// insert offers rows &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] offersItemsArray = offersData.Split(&lt;SPAN style="COLOR: maroon"&gt;'\n'&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; offerItem &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; offersItemsArray) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] offerItemDetails = offerItem.Split(&lt;SPAN style="COLOR: maroon"&gt;'\t'&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (offerItemDetails.Length &amp;gt;= 2) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (offerItemDetails[0] != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; offerItemDetails[1] != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; offerItemDetails[2] != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (offerItemDetails[0] != &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty &amp;amp;&amp;amp; offerItemDetails[1] != &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty &amp;amp;&amp;amp; offerItemDetails[2] != &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;offersRows += &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(offersRowFormat, offerItemDetails[0], offerItemDetails[1], offerItemDetails[2]); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(offersRows); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;/ul&amp;gt;"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;ul class='listitem_redright_dotted'&amp;gt;"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;li&amp;gt;&amp;lt;a title='' href='{0}'&amp;gt;{1}&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;"&lt;/SPAN&gt;, moreOffersUrl, moreOffersText)); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;/ul&amp;gt;"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;br&amp;gt;"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"&amp;lt;span class=ms-rteCustom-bold&amp;gt;{0}&amp;lt;/span&amp;gt;"&lt;/SPAN&gt;, information)); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;else&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;sb.Append(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"{0}"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.ID)); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;output.Write(sb); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Render(&lt;SPAN style="COLOR: teal"&gt;HtmlTextWriter&lt;/SPAN&gt; output) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (((&lt;SPAN style="COLOR: teal"&gt;SPContext&lt;/SPAN&gt;.Current.FormContext.FormMode == Microsoft.SharePoint.WebControls.&lt;SPAN style="COLOR: teal"&gt;SPControlMode&lt;/SPAN&gt;.Edit) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;|| (&lt;SPAN style="COLOR: teal"&gt;SPContext&lt;/SPAN&gt;.Current.FormContext.FormMode == Microsoft.SharePoint.WebControls.&lt;SPAN style="COLOR: teal"&gt;SPControlMode&lt;/SPAN&gt;.New))) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;TextWriter&lt;/SPAN&gt; tempWriter = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;StringWriter&lt;/SPAN&gt;(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;base&lt;/SPAN&gt;.Render(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; System.Web.UI.&lt;SPAN style="COLOR: teal"&gt;HtmlTextWriter&lt;/SPAN&gt;(tempWriter)); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; orightml = tempWriter.ToString(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// correct the "leaving the page problem". &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;Regex&lt;/SPAN&gt; hrefRegex = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;Regex&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"href=\"javascript(?&amp;lt;PostBackScript&amp;gt;.*?)\""&lt;/SPAN&gt;, &lt;SPAN style="COLOR: teal"&gt;RegexOptions&lt;/SPAN&gt;.Singleline); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; newhtml = hrefRegex.Replace(orightml, &lt;SPAN style="COLOR: maroon"&gt;"href=\"#\" onclick=\"${PostBackScript};return false;\""&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;output.Write(newhtml); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;else &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;base&lt;/SPAN&gt;.Render(output); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: ProggyCleanTT"&gt;#endregion &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;#region&lt;/SPAN&gt; OffersCollection (Used as an Object Datasource. Holds a collection of Offers.) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;OffersCollection&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt;&amp;gt; _offerList; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; OffersCollection() &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (_offerList == &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_offerList = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt;&amp;gt;(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_offerList.Add(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;)); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; UpdateOffer(&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; row, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; controlid, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; destination, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; price, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; url) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; rowForControlId = 0; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; pos = 0; pos &amp;lt; _offerList.Count; pos++) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt; o = _offerList[pos]; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (o != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; o.IsDeleted != &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (o.ControlID == controlid) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;rowForControlId++; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (rowForControlId == row) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;o.Destination = destination; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;o.Price = price; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;o.URL = url; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_offerList[pos] = o; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;break&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; AddOffer(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; destination, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; price, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; url, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; controlId) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (_offerList != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_offerList.Add(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt;(destination, price, url, controlId)); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// RowDeleting executed twice &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// http://forums.asp.net/tags/events/default.aspx?PageIndex=3 &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// http://www.issociate.de/board/post/285047/help_please_on_GridView_commands_+_AutoEventWireUp &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; DeleteOffer(&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; row, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; controlid) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; rowForControlId = 0; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; pos = 0; pos &amp;lt; _offerList.Count; pos++) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt; o = _offerList[pos]; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (o != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; o.IsDeleted != &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (o.ControlID == controlid) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;rowForControlId++; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (rowForControlId == row) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;o.IsDeleted = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_offerList[pos] = o; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;break&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt;&amp;gt; GetAllOffers() &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (_offerList != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; _offerList.Count &amp;gt; 0) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; _offerList; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;else &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; GetOffersData(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; controlId) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; offersData = &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; offerItem = &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt; o &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; _offerList) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (o.ControlID == controlId &amp;amp;&amp;amp; o.IsDeleted != &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;offerItem = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: maroon"&gt;"{0}\t{1}\t{2}\n"&lt;/SPAN&gt;, o.Destination, o.Price, o.URL); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;offersData += offerItem; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; (offersData); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; The offer items are stored in one big string where &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&amp;lt;param name="offersData"&amp;gt;&amp;lt;/param&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; SetOffersData(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; controlId, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; offersData) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// clean-up &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_offerList.RemoveAll(&lt;SPAN style="COLOR: blue"&gt;delegate&lt;/SPAN&gt;(&lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt; o) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; o.ControlID == controlId; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] offersItemsArray = offersData.Split(&lt;SPAN style="COLOR: maroon"&gt;'\n'&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; offerItem &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; offersItemsArray) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] offerItemDetails = offerItem.Split(&lt;SPAN style="COLOR: maroon"&gt;'\t'&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (offerItemDetails.Length &amp;gt;= 3) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (offerItemDetails[0] != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; offerItemDetails[1] != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; offerItemDetails[2] != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt; newOffer = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt;(offerItemDetails[0], offerItemDetails[1], offerItemDetails[2], controlId); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_offerList.Add(newOffer); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;DataSet&lt;/SPAN&gt; GetAllOffersAsDataSet() &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;DataSet&lt;/SPAN&gt; ds = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;DataSet&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Table"&lt;/SPAN&gt;); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// Create the schema of the DataTable. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;DataTable&lt;/SPAN&gt; dt = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;DataTable&lt;/SPAN&gt;(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;DataColumn&lt;/SPAN&gt; dc; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;dc = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;DataColumn&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Destination"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;)); dt.Columns.Add(dc); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;dc = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;DataColumn&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Price"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;)); dt.Columns.Add(dc); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;dc = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;DataColumn&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"Url"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;)); dt.Columns.Add(dc); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;dc = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;DataColumn&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"ControlId"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;typeof&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;)); dt.Columns.Add(dc); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;//dc = new DataColumn("OfferId", typeof(string)); dt.Columns.Add(dc); &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// Add rows to the DataTable. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;DataRow&lt;/SPAN&gt; row; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; offerid = 0; offerid &amp;lt; _offerList.Count; offerid++) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: teal"&gt;Offer&lt;/SPAN&gt; o = _offerList[offerid]; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (o != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt; &amp;amp;&amp;amp; o.IsDeleted != &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;row = dt.NewRow(); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;row[&lt;SPAN style="COLOR: maroon"&gt;"Destination"&lt;/SPAN&gt;] = o.Destination; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;row[&lt;SPAN style="COLOR: maroon"&gt;"Price"&lt;/SPAN&gt;] = o.Price; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;row[&lt;SPAN style="COLOR: maroon"&gt;"Url"&lt;/SPAN&gt;] = o.URL; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;row[&lt;SPAN style="COLOR: maroon"&gt;"ControlId"&lt;/SPAN&gt;] = o.ControlID; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;//row["OfferId"] = offerid.ToString(); &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;dt.Rows.Add(row); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: green"&gt;// Add the complete DataTable to the DataSet. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;ds.Tables.Add(dt); &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; ds; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;Offer &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; _destination = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; _price = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; _url = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; _controlId = &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;.Empty; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;bool&lt;/SPAN&gt; _isDeleted = &lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Destination &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (!&lt;SPAN style="COLOR: teal"&gt;String&lt;/SPAN&gt;.IsNullOrEmpty(_destination)) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; _destination; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;else &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { _destination = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Price &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (!&lt;SPAN style="COLOR: teal"&gt;String&lt;/SPAN&gt;.IsNullOrEmpty(_price)) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; _price; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;else &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { _price = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; URL &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (!&lt;SPAN style="COLOR: teal"&gt;String&lt;/SPAN&gt;.IsNullOrEmpty(_url)) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; _url; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;else &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { _url = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; ControlID &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (!&lt;SPAN style="COLOR: teal"&gt;String&lt;/SPAN&gt;.IsNullOrEmpty(_controlId)) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; _controlId; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;else &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;""&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { _controlId = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;bool&lt;/SPAN&gt; IsDeleted &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;get&lt;/SPAN&gt; { &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; _isDeleted; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;set&lt;/SPAN&gt; { _isDeleted = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; } &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; Offer(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; destination, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; price, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; url, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; controlId) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_destination = destination; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_price = price; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_url = url; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_controlId = controlId; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;_isDeleted = &lt;SPAN style="COLOR: blue"&gt;false&lt;/SPAN&gt;; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; Offer() &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;{ &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;&lt;SPAN style="COLOR: blue"&gt;#endregion&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: ProggyCleanTT"&gt;#endregion &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: ProggyCleanTT"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Until next time,&lt;BR&gt;thomas&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5601709" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/thompal/archive/tags/WCM/">WCM</category></item><item><title>Implementing www.swiss.com using MOSS2007</title><link>http://blogs.msdn.com/b/thompal/archive/2007/10/22/implementing-www-swiss-com-using-moss2007.aspx</link><pubDate>Mon, 22 Oct 2007 17:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5600498</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=5600498</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2007/10/22/implementing-www-swiss-com-using-moss2007.aspx#comments</comments><description>&lt;P&gt;In December of 2006 swiss international airlines invited us to present the new Web Content Management functionality of MOSS2007. The idea was to use MOSS2007 for the re-launch of their public internet site &lt;A href="http://www.swiss.com/" mce_href="http://www.swiss.com"&gt;www.swiss.com&lt;/A&gt; . &lt;/P&gt;
&lt;P&gt;Here's a high-level overview about the requirements: &lt;/P&gt;
&lt;UL style="MARGIN-LEFT: 47pt"&gt;
&lt;LI&gt;Multi-lingual: supporting more than 10 countries and their local languages &lt;/LI&gt;
&lt;LI&gt;Integrating a standard ASP.NET 2.0 based application for the flight-booking application &lt;/LI&gt;
&lt;LI&gt;Very slim pages with short download times &lt;/LI&gt;
&lt;LI&gt;Multi-lingual forms with special validation and submit logic &lt;/LI&gt;
&lt;LI&gt;Easy to use content management functionality &lt;/LI&gt;
&lt;LI&gt;Configurable presenter for announcing news in a slide-show style &lt;/LI&gt;
&lt;LI&gt;Easy to use Translation functionality &lt;/LI&gt;
&lt;LI&gt;Re-use of master-pages and page-layouts for upcoming intra- and extranet projects &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In January 2007 we decided to invest several days for a proof-of-concept (PoC). During this PoC we've installed the necessary environment, designed the architecture for the multi-lingual concept and implemented several parts of the site. &lt;/P&gt;
&lt;P&gt;In the February timeframe we started to implement the site hierarchy and the implementation of the variations. The real development of the necessary web parts started in March. On june, 14&lt;SUP&gt;th&lt;/SUP&gt; we went life and here's a sample showing you how this site looks like: &lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://blogs.msdn.com/blogfiles/thompal/102207_1430_Implementin1.png" mce_src="http://blogs.msdn.com/blogfiles/thompal/102207_1430_Implementin1.png"&gt; &lt;/P&gt;
&lt;P&gt;In the next few posts I'll describe some of the challenges we had during the implementation. &lt;/P&gt;
&lt;P&gt;-thomas&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5600498" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/thompal/archive/tags/WCM/">WCM</category></item><item><title>Introduction</title><link>http://blogs.msdn.com/b/thompal/archive/2007/09/18/introduction.aspx</link><pubDate>Wed, 19 Sep 2007 00:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4986326</guid><dc:creator>Thomas J. Palmié</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/thompal/rsscomments.aspx?WeblogPostID=4986326</wfw:commentRss><comments>http://blogs.msdn.com/b/thompal/archive/2007/09/18/introduction.aspx#comments</comments><description>&lt;p&gt;Hi there&lt;br/&gt;My name is Thomas Palmié and I'm a Principal Consultant working for Microsoft Consulting Services in Switzerland. I'm focusing on Information Worker solutions around Microsoft Office SharePoint Server 2007 (MOSS) and the Office clients.
&lt;/p&gt;&lt;p&gt;In this blog I'll try to blog about experiences, tips &amp;amp; tricks I learned in various projects. I hope you'll find something interesting there.
&lt;/p&gt;&lt;p&gt;-thomas
&lt;/p&gt;&lt;p&gt;&lt;img src="http://blogs.msdn.com/blogfiles/thompal/091807_2113_Introductio1.jpg" alt=""/&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4986326" width="1" height="1"&gt;</description></item></channel></rss>