<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUcERnY-eSp7ImA9WhRbEEw.&quot;"><id>tag:blogger.com,1999:blog-30031412</id><updated>2012-01-31T12:30:07.851Z</updated><category term="Brooba" /><title>Out of Hours - Confessions of a Professional Developer</title><subtitle type="html">Useful info on: .NET, C#, jQuery, AJAX, MVC 3, RAZOR, SQL Server, Microsoft, Linux, Mono, Classic ASP, XSLT

Also some bits on good software, bad software, PC Maintenance and all that jazz!</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://ilovedevelopment.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/bWkBX" /><feedburner:info uri="blogspot/bwkbx" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;AkIFRno_eyp7ImA9WhRVEU0.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-3228118687871493335</id><published>2012-01-09T11:25:00.002Z</published><updated>2012-01-09T11:28:37.443Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T11:28:37.443Z</app:edited><title>Manage multiple updates to Data using C#, TSQL and OPENXML in SQL Server</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VOe5XWwxIt1_Uf1TOV4VS413Tto/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VOe5XWwxIt1_Uf1TOV4VS413Tto/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VOe5XWwxIt1_Uf1TOV4VS413Tto/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VOe5XWwxIt1_Uf1TOV4VS413Tto/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I'd like to share this little technique I've been using for quite a while, especially to receive feedback and validation on whether or not this is a good idea!&lt;br /&gt;
&lt;br /&gt;
I've used this technique with great success in the past in production systems which require a a "grid" of&amp;nbsp;check-boxes&amp;nbsp;and a single "update" button. This kind of thing usually occurs when you have any X can be&amp;nbsp;related&amp;nbsp;to any Y in a many to many kind of relationship. It comes in especially handy when mapping Users to Roles or that kind of thing. Though it can easily be adapted to manage multiple updates of anything in ONE database hit.&lt;br /&gt;
&lt;br /&gt;
Traditionally this kind of code ends up hitting the database either once per cell in the grid or once per row in the grid because SQL Server doesn't allow arrays of things to be sent to a stored procedure. Database hits are expensive and generally less is better.&lt;br /&gt;
&lt;br /&gt;
My technique&amp;nbsp;leverage's&amp;nbsp;SQL Servers ability to access XML data using the OPENXML keyword. When the grid of&amp;nbsp;check-boxes&amp;nbsp;is submitted we gather together the form collection elements (those&amp;nbsp;check-boxes&amp;nbsp;that have been ticked) and create an XML snippet of the results. This is then passed to SQL Server as a single input representing a set of information. OPENXML is then used inside the stored procedure to convert the XML into a temporary table which is then interrogated and used to update the relationship information that the&amp;nbsp;check box&amp;nbsp;represents.&lt;br /&gt;
&lt;br /&gt;
Below is a link to a visual studio 2010 project that you can download , it contains all the source code for the project please feel free to download and try it for yourself - if you find it useful or have an idea of how it could be improved please leave a comment at the bottom of this page.&lt;br /&gt;
&lt;br /&gt;
I have used MVC 3 and SQL Server as a simple container for the project but the technique is equally valid for any type of project Classic ASP, ASP.NET&amp;nbsp;Web-forms&amp;nbsp;included, so long as the RDBMS supports XML the technique will be valid.&lt;br /&gt;
&lt;br /&gt;
I will refrain from a long&amp;nbsp;explanation&amp;nbsp;here as the code is simply one model, controller and view and the database contains just three tables and two stored&amp;nbsp;procedures. If you'd like some more detail please leave a comment at the bottom of the page and Ill update as soon as possible. If I get a lot of feedback then I will flesh out the method some more in a series of posts.&lt;br /&gt;
&lt;br /&gt;
I do hope you find this useful and would love to hear from you!&lt;br /&gt;
&lt;br /&gt;
Project files can be downloaded &lt;a href="https://docs.google.com/open?id=0B4vV9n5dFl5dOGZiZDUzZWUtMmQ5Yy00MjNmLTgzZDMtZmU3N2IxNTgyNTg3" target="_blank"&gt;here &lt;/a&gt;&amp;nbsp;and unpacked using &amp;nbsp;&amp;nbsp;&lt;a href="http://www.7zip.org/" target="_blank"&gt;7zip&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-3228118687871493335?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/GRFE4_h9VRQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/3228118687871493335/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=3228118687871493335" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/3228118687871493335?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/3228118687871493335?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/GRFE4_h9VRQ/manage-multiple-updates-to-data-using-c.html" title="Manage multiple updates to Data using C#, TSQL and OPENXML in SQL Server" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2012/01/manage-multiple-updates-to-data-using-c.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcARXo6eyp7ImA9WhRWF0o.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-4198787054672778479</id><published>2012-01-05T14:00:00.002Z</published><updated>2012-01-05T14:00:44.413Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T14:00:44.413Z</app:edited><title>disqus.com for @blogger @blogspot comments - really rather good!</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rJP3DbDTt29resqFN7vK4rzXoC0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rJP3DbDTt29resqFN7vK4rzXoC0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rJP3DbDTt29resqFN7vK4rzXoC0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rJP3DbDTt29resqFN7vK4rzXoC0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Having not made a new years resolution at the time I have decided that it should be "use my blog more often".&amp;nbsp;I'm&amp;nbsp;doing quite well this year so far but to be honest its quite tricky fitting it in "out of hours" what with the twins, learning guitar and Skyrim being released but we can but try!&lt;br /&gt;
&lt;br /&gt;
This post centres around the ease with which I managed to sign up for and integrate Disqus comments into this very blog. It turns out that to replace the (fairly basic) standard Blogger comments with Disqus is REALLY straightforward. Simply a case of signing up to Disqus pointing it at your blog and clicking the appropriate options.&lt;br /&gt;
&lt;br /&gt;
Disqus accounts are free (though there are paid for versions) and it adds a social edge and more integrated experience if you're a Blogger or a&amp;nbsp;commenter. I original was looking to integrate LiveFyre but it&amp;nbsp;didn't&amp;nbsp;seem to offer the kind of seamless integration and ease for which I was looking (I may be wrong but Disqus just made it so easy!).&lt;br /&gt;
&lt;br /&gt;
Anyway if you're looking for "comments on social steroids) I would definitely&amp;nbsp;recommend&amp;nbsp;it if you're serious about building communities around your content!&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://disqus.com/"&gt;http://disqus.com&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.livefyre.com/"&gt;http://www.livefyre.com/&lt;/a&gt;
&lt;br /&gt;
One last word on LiveFyre if you're looking for something a bit different it works just like other comments managers however it also include live chat as a first-class feature which, when you see it, really is quite impressive!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-4198787054672778479?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/1QFbO0cxUic" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/4198787054672778479/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=4198787054672778479" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/4198787054672778479?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/4198787054672778479?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/1QFbO0cxUic/disquscom-for-blogger-blogspot-comments.html" title="disqus.com for @blogger @blogspot comments - really rather good!" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2012/01/disquscom-for-blogger-blogspot-comments.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08BQXoyeyp7ImA9WhRWFks.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-2049182830143449587</id><published>2012-01-04T09:37:00.000Z</published><updated>2012-01-04T09:37:30.493Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-04T09:37:30.493Z</app:edited><title>Kodak ESP 5250 All-in-One Colour Ink-jet - Printer / copier / scanner</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xqBeclS2rD-AxyaYEEGpZYhJgzM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xqBeclS2rD-AxyaYEEGpZYhJgzM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xqBeclS2rD-AxyaYEEGpZYhJgzM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xqBeclS2rD-AxyaYEEGpZYhJgzM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div&gt;Having bought Kodak Camera's for both myself and my mother in law I decided to give the following printer a try when it came time to replace an older Epson model that got damaged in a house move a while ago. I have to say it is astounding for the price. B&amp;amp;W printing is both fast and sharp whilst the colour prints are beautiful even on normal paper! Let alone its excellent Wi-Fi facilities, combine that with its excellent cloud printing software (sadly this model does not support it natively but the software works very well indeed) its an all round winner!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Kodak also do iPhone, iPad and Andriod apps for printing directly from your smart devices for free which also "just work" - usually printers (at least for me) are a nightmare but setting all this up was a breeze!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.google.co.uk/products/catalog?hl=en&amp;amp;rlz=&amp;amp;q=KODAK+ESP+5250&amp;amp;gs_upl=1594080l1596799l0l1597026l14l13l0l3l3l0l214l1408l1.8.1l10l0&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;tbm=shop&amp;amp;cid=10465158521842322214&amp;amp;sa=X&amp;amp;ei=bhwET5qTFsezhAeTpZH2CQ&amp;amp;ved=0CHcQ8wIwAQ"&gt;Kodak ESP 5250 All-in-One Colour Ink-jet - Printer / copier / scanner&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-size:13px" href="https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk"&gt;'via Blog this'&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-2049182830143449587?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/OYpiCfDdQeI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/2049182830143449587/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=2049182830143449587" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/2049182830143449587?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/2049182830143449587?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/OYpiCfDdQeI/kodak-esp-5250-all-in-one-colour-ink.html" title="Kodak ESP 5250 All-in-One Colour Ink-jet - Printer / copier / scanner" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2012/01/kodak-esp-5250-all-in-one-colour-ink.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEENRH85fip7ImA9WhRXEkQ.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-2328163343108030471</id><published>2011-12-19T12:11:00.000Z</published><updated>2011-12-19T12:11:35.126Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T12:11:35.126Z</app:edited><title>UK Newspaper Front Pages @ Front Pages Today</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4y0AEou1i2yRhVcEFuQhu9QIWvw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4y0AEou1i2yRhVcEFuQhu9QIWvw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4y0AEou1i2yRhVcEFuQhu9QIWvw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4y0AEou1i2yRhVcEFuQhu9QIWvw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Website of the day on &lt;a href="http://www.pocket-lint.com/news/43528/snapshot-of-newspaper-front-pages"&gt; Pocket-lint&lt;/a&gt; today - what a fantastic idea, keep up to date with the big stories in the press day by day with direct links to all the papers. Also spans multiple countries too! &lt;br /&gt;&lt;a href="http://www.frontpagestoday.co.uk/"&gt;UK Newspaper Front Pages @ Front Pages Today&lt;/a&gt;: &lt;br&gt;&lt;br&gt;&lt;a style="font-size:13px" href="https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk"&gt;'via Blog this'&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-2328163343108030471?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/D73EmMO5Los" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/2328163343108030471/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=2328163343108030471" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/2328163343108030471?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/2328163343108030471?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/D73EmMO5Los/uk-newspaper-front-pages-front-pages.html" title="UK Newspaper Front Pages @ Front Pages Today" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2011/12/uk-newspaper-front-pages-front-pages.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8MQnszeCp7ImA9WhRXEkQ.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-1214578901650658505</id><published>2011-12-19T11:05:00.000Z</published><updated>2011-12-19T11:08:03.580Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T11:08:03.580Z</app:edited><title>One-click Blogging with BlogThis! Chrome Extension | Blogger Buzz</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/m4kDAdK7J8uvmTn3OGAgVdq_S4U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m4kDAdK7J8uvmTn3OGAgVdq_S4U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/m4kDAdK7J8uvmTn3OGAgVdq_S4U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m4kDAdK7J8uvmTn3OGAgVdq_S4U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;An extremely useful extension that should improve the frequency with which I update my blog. I usually post links through my twitter account ( &lt;a href="https://twitter.com/#!/bUKaneer" target="_blank"&gt;@bUKaneer&lt;/a&gt; ) but will endeavour to post to my blog using this tool too!&lt;br /&gt;
&lt;a href="http://buzz.blogger.com/2009/12/one-click-blogging-with-blogthis-chrome.html"&gt;One-click Blogging with BlogThis! Chrome Extension | Blogger Buzz&lt;/a&gt;: &lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk" style="font-size: 13px;"&gt;'via Blog this'&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-1214578901650658505?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/FRHYWyzCpKk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/1214578901650658505/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=1214578901650658505" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/1214578901650658505?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/1214578901650658505?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/FRHYWyzCpKk/one-click-blogging-with-blogthis-chrome.html" title="One-click Blogging with BlogThis! Chrome Extension | Blogger Buzz" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2011/12/one-click-blogging-with-blogthis-chrome.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYBSXw5cSp7ImA9WhZaE0k.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-5574337718135313150</id><published>2011-06-29T09:33:00.002Z</published><updated>2011-06-29T09:35:58.229Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-29T09:35:58.229Z</app:edited><title>NuGet, SQL CE 4 and CDN - oh my!</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/em4ay5MLSXxzRrNYYyD3W1Fm8E8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/em4ay5MLSXxzRrNYYyD3W1Fm8E8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/em4ay5MLSXxzRrNYYyD3W1Fm8E8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/em4ay5MLSXxzRrNYYyD3W1Fm8E8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;NuGet&lt;/b&gt;: &lt;a href="http://nuget.org/"&gt;http://nuget.org/&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This is a system for “installing” components into your web application quickly and easily. So lets say your doing a data driven website using SQL CE 4, you’re going to be using jQuery and CSS control adapters. Simply create your new website as per normal fire up NuGet, do a search for jQuery and hit install, do a search for CSSFriendly double click and install. At this point it will have put copies of jQuery and CSS Friendly control adapters straight into your project! Brilliant! Theres LOADS of stuff available ousing NuGet these are only two VERY small example – check it out!&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;SQL CE 4&lt;/b&gt;: &lt;a href="http://weblogs.asp.net/scottgu/archive/2011/01/11/vs-2010-sp1-and-sql-ce.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2011/01/11/vs-2010-sp1-and-sql-ce.aspx&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This is an “in site” file based database and needs no server components to run just some webspace supporting .NET 4 – it replaces using MS Access SQLite or PostgresSQL. In order to use it you simply need Visual Studio 2010 sp1 and the SQL CE 4 tooling support installed which can be downloaded from here &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=23691"&gt;http://www.microsoft.com/download/en/details.aspx?id=23691&lt;/a&gt; and here &lt;a href="http://go.microsoft.com/fwlink/?LinkId=212219"&gt;http://go.microsoft.com/fwlink/?LinkId=212219&lt;/a&gt; . Then when you right click App_Data select New Item a new option will appear call SQL Server CE 4 – double click it and it will create for you a new database which you can use as per you would access.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;SQL CE 4 Membership Provider: &lt;/b&gt;&lt;a href="http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx"&gt;http://www.hanselman.com/blog/IntroducingSystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Righty this little gem (provided via NuGet) is a way to use the Membership provider system built into .NET with SQL CE 4 – this is actually really easy to implement in about three step and takes about 5 minutes (I know because I did it yesterday). Once the steps are completed you will be able to use all the Membership functions directly from your new SQL CE 4 database saving you the time and effort of implementing this on small websites each time.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Google and Microsoft CDN&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;If you’re wanting to include framework such as jQuery jQuery UI and jQuery Validate then consider using a CDN (Content Delivery Network) version. This is basically an include to a file or files stored in the cloud. The advantages are tht you do not have to keep local copies of the files in your project and also that when a request is made when the page loads the file will be delivered from the nearest server to your user which should in theory speed up download times. The google CDN and Microsoft CDNS can be used in tandem so you could include jQuery and jQuery UI files from Google and Validate from Microsoft (I've done this and it works fine) – it’s a good way to keep your file footprint down on small sites:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://code.google.com/apis/libraries/devguide.html#jquery"&gt;http://code.google.com/apis/libraries/devguide.html#jquery&lt;/a&gt; (Shows links to .js files) for the CSS to be included from CDN also please read the following &lt;a href="http://blog.jqueryui.com/2009/03/jquery-ui-17/"&gt;http://blog.jqueryui.com/2009/03/jquery-ui-17/&lt;/a&gt; (Both CSS and Javascript files are hosted on the Google CDN but only the js files are listed – bit silly however the previous link shows how to include the CSS files as well!)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Microsofts version can be foud here: &lt;a href="http://www.asp.net/ajaxlibrary/cdn.ashx"&gt;http://www.asp.net/ajaxlibrary/cdn.ashx&lt;/a&gt; (Webpage currently not working!)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-5574337718135313150?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/-nla1TLHQ5I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/5574337718135313150/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=5574337718135313150" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/5574337718135313150?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/5574337718135313150?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/-nla1TLHQ5I/nuget-httpnuget.html" title="NuGet, SQL CE 4 and CDN - oh my!" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2011/06/nuget-httpnuget.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAGQ389eCp7ImA9WxBaGU4.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-3072088178481733309</id><published>2010-03-30T08:28:00.000Z</published><updated>2010-03-30T08:28:42.160Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-30T08:28:42.160Z</app:edited><title>Tips &amp; Tricks for ASP.NET, IIS, and Visual Web Developer : Tip#102: Did you know… How to specify tag specific formatting</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/daQUlw9Xq7I_QcKMnWOvmhHcu_0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/daQUlw9Xq7I_QcKMnWOvmhHcu_0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/daQUlw9Xq7I_QcKMnWOvmhHcu_0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/daQUlw9Xq7I_QcKMnWOvmhHcu_0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://blogs.msdn.com/webdevelopertips/archive/2010/03/25/tip-102-did-you-know-how-to-specify-tag-specific-formatting.aspx"&gt;Tips &amp;amp; Tricks for ASP.NET, IIS, and Visual Web Developer : Tip#102: Did you know… How to specify tag specific formatting&lt;/a&gt;: "Tip#102: Did you know… How to specify tag specific formatting"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-3072088178481733309?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/j0x4nFsdD5I" height="1" width="1"/&gt;</content><link rel="related" href="http://blogs.msdn.com/webdevelopertips/archive/2010/03/25/tip-102-did-you-know-how-to-specify-tag-specific-formatting.aspx" title="Tips &amp; Tricks for ASP.NET, IIS, and Visual Web Developer : Tip#102: Did you know… How to specify tag specific formatting" /><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/3072088178481733309/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=3072088178481733309" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/3072088178481733309?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/3072088178481733309?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/j0x4nFsdD5I/tips-tricks-for-aspnet-iis-and-visual.html" title="Tips &amp; Tricks for ASP.NET, IIS, and Visual Web Developer : Tip#102: Did you know… How to specify tag specific formatting" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2010/03/tips-tricks-for-aspnet-iis-and-visual.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEHQnY_cCp7ImA9WxBVGU8.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-8230037197387574273</id><published>2010-02-23T12:03:00.000Z</published><updated>2010-02-23T12:03:53.848Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-23T12:03:53.848Z</app:edited><title>Microsoft/Amazon Deal: Nothing to See Here | The Linux Foundation</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CqGrBUGjdoAxo35MpMAOVcBv4LU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CqGrBUGjdoAxo35MpMAOVcBv4LU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CqGrBUGjdoAxo35MpMAOVcBv4LU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CqGrBUGjdoAxo35MpMAOVcBv4LU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.linuxfoundation.org/news-media/blogs/browse/2010/02/microsoftamazon-deal-nothing-see-here"&gt;Microsoft/Amazon Deal: Nothing to See Here | The Linux Foundation&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-8230037197387574273?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/O2E9RKZiWH0" height="1" width="1"/&gt;</content><link rel="related" href="http://www.linuxfoundation.org/news-media/blogs/browse/2010/02/microsoftamazon-deal-nothing-see-here" title="Microsoft/Amazon Deal: Nothing to See Here | The Linux Foundation" /><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/8230037197387574273/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=8230037197387574273" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/8230037197387574273?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/8230037197387574273?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/O2E9RKZiWH0/microsoftamazon-deal-nothing-to-see.html" title="Microsoft/Amazon Deal: Nothing to See Here | The Linux Foundation" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2010/02/microsoftamazon-deal-nothing-to-see.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UCR389eCp7ImA9WxBVEk4.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-5397873920166277281</id><published>2010-02-15T10:36:00.004Z</published><updated>2010-02-15T10:54:26.160Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-15T10:54:26.160Z</app:edited><title>Down and dirty with Trace Listerners for SOAP Messages</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Mwa_3MDS77mghbT_qPyVWvnILN4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mwa_3MDS77mghbT_qPyVWvnILN4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Mwa_3MDS77mghbT_qPyVWvnILN4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Mwa_3MDS77mghbT_qPyVWvnILN4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Recently I was trying to implement a web service call for a client who had another firm implementing a very secure web service using client certificates (Ill blog about how to get that working sometime soon). However once Id got the security sorted I was getting a Method not allowed 403 error in order to diagnose the problem I needed ot get at the raw data travelling across the wire. as it happens dot net has a brilliant diagnostics suite which is really simple to implement. Simply add the following into your web.config file underneath the system.web node and presto youll get a trace.log file will all that lovely low level info in!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Original Article here on StackOverflow; &lt;a href="http://stackoverflow.com/questions/300674/getting-raw-soap-data-from-a-web-reference-client-running-in-aspnet"&gt;http://stackoverflow.com/questions/300674/getting-raw-soap-data-from-a-web-reference-client-running-in-aspnet&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;system.diagnostics&amp;gt;&lt;br /&gt;  &amp;lt;trace autoflush="true"&amp;gt;&lt;br /&gt;  &amp;lt;sources&amp;gt;&lt;br /&gt;    &amp;lt;source name="System.Net" maxdatasize="1024"&amp;gt;&lt;br /&gt;      &amp;lt;listeners&amp;gt;&lt;br /&gt;        &amp;lt;add name="TraceFile"&amp;gt;&lt;br /&gt;      &amp;lt;/add&amp;gt;&lt;br /&gt;  &lt;br /&gt;    &amp;lt;source name="System.Net.Sockets" maxdatasize="1024"&amp;gt;&lt;br /&gt;      &amp;lt;listeners&amp;gt;&lt;br /&gt;        &amp;lt;add name="TraceFile"&amp;gt;&lt;br /&gt;      &amp;lt;/add&amp;gt;&lt;br /&gt;  &lt;br /&gt;  &amp;lt;/listeners&amp;gt;&lt;br /&gt;  &amp;lt;sharedlisteners&amp;gt;&lt;br /&gt;    &amp;lt;add name="TraceFile" type="System.Diagnostics.TextWriterTraceListener" initializedata="trace.log"&amp;gt;&lt;br /&gt;  &amp;lt;/add&amp;gt;&lt;br /&gt;  &amp;lt;switches&amp;gt;&lt;br /&gt;    &amp;lt;add name="System.Net" value="Verbose"&amp;gt;&lt;br /&gt;    &amp;lt;add name="System.Net.Sockets" value="Verbose"&amp;gt;&lt;br /&gt;  &amp;lt;/add&amp;gt;&lt;br /&gt;  &amp;lt;/add&amp;gt;&lt;br /&gt;&amp;lt;/switches&amp;gt;&amp;lt;/sharedlisteners&amp;gt;&amp;lt;/listeners&amp;gt;&amp;lt;/sources&amp;gt;&amp;lt;/trace&amp;gt;&amp;lt;/system.diagnostics&amp;gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-5397873920166277281?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/D4CKRBAPlKE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/5397873920166277281/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=5397873920166277281" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/5397873920166277281?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/5397873920166277281?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/D4CKRBAPlKE/down-and-dirty-with-trace-listerners.html" title="Down and dirty with Trace Listerners for SOAP Messages" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2010/02/down-and-dirty-with-trace-listerners.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkMER3o_eip7ImA9WxNUFU0.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-6725510451959733536</id><published>2009-11-06T09:39:00.000Z</published><updated>2009-11-06T09:40:06.442Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-06T09:40:06.442Z</app:edited><title>A simple way to add OnUnload to the body of a page</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/W9T6uMeOkZJJE-q8vyN4WjdV2g4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W9T6uMeOkZJJE-q8vyN4WjdV2g4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/W9T6uMeOkZJJE-q8vyN4WjdV2g4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/W9T6uMeOkZJJE-q8vyN4WjdV2g4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;Page.ClientScript.RegisterStartupScript(&lt;span style='color:blue'&gt;typeof&lt;/span&gt;&lt;b&gt;(&lt;/b&gt;&lt;span style='color:blue'&gt;string&lt;/span&gt;&lt;b&gt;),&lt;/b&gt;&lt;span style='color:#A31515'&gt;&amp;quot;AutoCloseWindow&amp;quot;&lt;/span&gt;&lt;b&gt;,&lt;/b&gt;&lt;span style='color:#A31515'&gt;&amp;quot;window.onunload = function () { window.opener.location.href = window.opener.location.href; window.close(); };&amp;quot;&lt;/span&gt;&lt;b&gt;, &lt;/b&gt;&lt;span style='color:blue'&gt;true&lt;/span&gt;&lt;b&gt;);&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-6725510451959733536?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/zfzN1zsZ58c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/6725510451959733536/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=6725510451959733536" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/6725510451959733536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/6725510451959733536?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/zfzN1zsZ58c/simple-way-to-add-onunload-to-body-of.html" title="A simple way to add OnUnload to the body of a page" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/11/simple-way-to-add-onunload-to-body-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4DRnY_eCp7ImA9WxNQF0w.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-6794596769161133791</id><published>2009-09-14T11:31:00.005Z</published><updated>2009-09-23T14:42:57.840Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-23T14:42:57.840Z</app:edited><title>Old Skool - Classic ASP ServerVariables List</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iesKPbVLAye6zM7J6VMasEuwX6s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iesKPbVLAye6zM7J6VMasEuwX6s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iesKPbVLAye6zM7J6VMasEuwX6s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iesKPbVLAye6zM7J6VMasEuwX6s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="Section1"&gt;  &lt;p class="MsoNormal"&gt;This is an oldie but a goodie – I don’t know how many times in my career I’ve rewritten these few lines of code but I’ve preserved it here to save me writing it yet again! A simple method for outputting all the server variables, query string parameters and form variables in Classic ASP!&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; response.Write("&amp;lt;hr/&amp;gt;")&lt;/o:p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;response.Write("&lt;strong&gt;SERVER VARIABLES COLLECTION&amp;lt;br/&amp;gt;&lt;/strong&gt;")&lt;/p&gt;&lt;p class="MsoNormal"&gt;Dim variableName &lt;/p&gt;&lt;p class="MsoNormal"&gt;for each variableName in Request.ServerVariables&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;response.write(variableName &amp;amp; ": " &amp;amp; Request.ServerVariables(variableName) &amp;amp; "&amp;lt;br/&amp;gt;")&lt;/p&gt;&lt;p class="MsoNormal"&gt;next&lt;/p&gt;&lt;p class="MsoNormal"&gt;response.Write("&amp;lt;hr/&amp;gt;")&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;response.Write("&lt;strong&gt;QUERY STRING COLLECTION&amp;lt;br/&amp;gt;&lt;/strong&gt;")&lt;/p&gt;&lt;p class="MsoNormal"&gt;for each variableName in Request.QueryString &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;response.write(variableName &amp;amp; ": " &amp;amp; Request.QueryString(variableName) &amp;amp; "&amp;lt;br/&amp;gt;")&lt;/p&gt;&lt;p class="MsoNormal"&gt;next&lt;/p&gt;&lt;p class="MsoNormal"&gt;response.Write("&amp;lt;hr/&amp;gt;")&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;response.Write("&lt;strong&gt;FORM COLLECTION&amp;lt;br/&amp;gt;&lt;/strong&gt;")&lt;/p&gt;&lt;p class="MsoNormal"&gt;for each variableName in Request.Form&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;response.write(variableName &amp;amp; ": " &amp;amp; Request.Form(variableName) &amp;amp; "&amp;lt;br/&amp;gt;")&lt;/p&gt;&lt;p class="MsoNormal"&gt;next&lt;/p&gt;&lt;p class="MsoNormal"&gt;response.Write("&amp;lt;hr/&amp;gt;")&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;response.Write("&lt;strong&gt;SESSION COLLECTION&amp;lt;br/&amp;gt;&lt;/strong&gt;")&lt;/p&gt;&lt;p class="MsoNormal"&gt;for each variableName in Session.Contents&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;response.write(variableName &amp;amp; ": " &amp;amp; Session(variableName) &amp;amp; "&amp;lt;br/&amp;gt;")&lt;/p&gt;&lt;p class="MsoNormal"&gt;next&lt;/p&gt;&lt;p class="MsoNormal"&gt;response.Write("&amp;lt;hr/&amp;gt;")&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-6794596769161133791?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/7XuuR6EB_O0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/6794596769161133791/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=6794596769161133791" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/6794596769161133791?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/6794596769161133791?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/7XuuR6EB_O0/old-skool-classic-asp-servervariables.html" title="Old Skool - Classic ASP ServerVariables List" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/09/old-skool-classic-asp-servervariables.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UDQXk5cSp7ImA9WxNSGEw.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-1893077007618117704</id><published>2009-09-01T15:34:00.001Z</published><updated>2009-09-01T15:34:30.729Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-01T15:34:30.729Z</app:edited><title>Useful code to properly record and redirect an unhandled exception from Global.asax Application_Error Handler</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/c7rq3Rt9iLU49LuZ9_6ApIsgd5o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c7rq3Rt9iLU49LuZ9_6ApIsgd5o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/c7rq3Rt9iLU49LuZ9_6ApIsgd5o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/c7rq3Rt9iLU49LuZ9_6ApIsgd5o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=Section1&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:blue'&gt;void&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt; Application_Error(&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;object&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt; sender, &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:#2B91AF'&gt;EventArgs&lt;/span&gt;&lt;b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt; e) &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:green'&gt;// Code that runs when an unhandled error occurs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;string&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt; httpCode = ((&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:#2B91AF'&gt;HttpException&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;) Server.GetLastError()).GetHttpCode().ToString();&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;if&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt; (&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:#2B91AF'&gt;HttpContext&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;.Current.Session != &lt;span style='color:blue'&gt;null&lt;/span&gt;&lt;b&gt;)&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:#2B91AF'&gt;HttpContext&lt;/span&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;.Current.Session[&lt;span style='color:#A31515'&gt;&amp;quot;LastError&amp;quot;&lt;/span&gt;&lt;b&gt;] = Server.GetLastError();&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Server.ClearError();&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;switch&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt; (httpCode)&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;case&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:#A31515'&gt;&amp;quot;404&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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; Response.Redirect(&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;&amp;quot;/Error/Error404.aspx&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;);&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;break&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;default&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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; Response.Redirect(&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;&amp;quot;/Error/Error.aspx&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;);&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;break&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-1893077007618117704?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/RFws6pI24wU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/1893077007618117704/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=1893077007618117704" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/1893077007618117704?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/1893077007618117704?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/RFws6pI24wU/useful-code-to-properly-record-and.html" title="Useful code to properly record and redirect an unhandled exception from Global.asax Application_Error Handler" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/09/useful-code-to-properly-record-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08BSH04eCp7ImA9WxNTEEs.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-8280427764359745639</id><published>2009-08-12T08:30:00.001Z</published><updated>2009-08-12T08:30:59.330Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-12T08:30:59.330Z</app:edited><title>GridView (non-object/sql DataSource) Paging and Sorting</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sFDIXGLbqD0c1z4jEw299TWESVA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sFDIXGLbqD0c1z4jEw299TWESVA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sFDIXGLbqD0c1z4jEw299TWESVA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sFDIXGLbqD0c1z4jEw299TWESVA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;This is just a quick reminder post about how to do things and in what order to get Paging and Sorting working together on a GridView Control when you&amp;#8217;re datasource is NOT a SqlDataSource or ObjectDataSource reference by DataSourceId in the ASPX file but rather a (collection of) POCO objects or other datasource!&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;b&gt;.ASPX file&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas;color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:#A31515'&gt;asp&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;:&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:#A31515'&gt;GridView&lt;/span&gt;&lt;b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:red'&gt;CssClass&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;=&amp;quot;tableStyle1&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;HeaderStyle-CssClass&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;=&amp;quot;bgA&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;RowStyle-CssClass&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;=&amp;quot;bgB&amp;quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;DataKeyNames&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;=&amp;quot;Id&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;AlternatingRowStyle-CssClass&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;=&amp;quot;bgB&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red;background:yellow; mso-highlight:yellow'&gt;AllowPaging&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue;background:yellow;mso-highlight:yellow'&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red;background:yellow; mso-highlight:yellow'&gt;AllowSorting&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue;background:yellow;mso-highlight:yellow'&gt;=&amp;quot;true&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;PageSize&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;=&amp;quot;50&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red;background:yellow; mso-highlight:yellow'&gt;OnPageIndexChanging&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue;background:yellow;mso-highlight:yellow'&gt;=&amp;quot;ResultsGrid_PageIndexChanging&amp;quot;&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;AutoGenerateColumns&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;runat&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;=&amp;quot;server&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;ID&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;=&amp;quot;ResultsGrid&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red;background:yellow; mso-highlight:yellow'&gt;OnRowDataBound&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue;background:yellow;mso-highlight:yellow'&gt;=&amp;quot;ResultsGrid_RowDataBound&amp;quot;&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red;background:yellow; mso-highlight:yellow'&gt;OnSorting&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:blue;background:yellow;mso-highlight:yellow'&gt;=&amp;quot;ResultsGrid_Sorting&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;PagerStyle-ForeColor&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;=&amp;quot;White&amp;quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;Columns&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;&amp;lt;&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;asp&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;:&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;BoundField&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:red'&gt;DataFi&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;b&gt;.CS file&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;protected&lt;/span&gt;&lt;b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;void&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt; Page_Load(&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;object&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt; sender, &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:#2B91AF'&gt;EventArgs&lt;/span&gt;&lt;b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt; e)&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;if&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; (!&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;this&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;.IsPostBack)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas; color:#A31515'&gt;&amp;quot;SortExpression&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;] = &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:#A31515'&gt;&amp;quot;Title&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas; color:#A31515'&gt;&amp;quot;SortDirection&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;] = &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:#A31515'&gt;&amp;quot;ASC&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas;color:blue'&gt;public&lt;/span&gt;&lt;b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;void&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt; ResultsGrid_PageIndexChanging(&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;object&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; sender, &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#2B91AF'&gt;GridViewPageEventArgs&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; e)&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResultsGrid.PageIndex = e.NewPageIndex;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BindResultGrid();&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas;color:blue'&gt;private&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;void&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; BindResultGrid()&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#2B91AF'&gt;SqlDataAdapter&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; da = &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;new&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#2B91AF'&gt;SqlDataAdapter&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;(&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;&amp;quot;ReportingSelect&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;, &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;new&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#2B91AF'&gt;SqlConnection&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;(c&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;onnectionString));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetSqlParametersForFilter(PrepareFilterTerms(), da.SelectCommand);&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#2B91AF'&gt;DataSet&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; results = &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;new&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#2B91AF'&gt;DataSet&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;();&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; da.Fill(results);&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResultsGrid.DataSource = ApplySorting(results.Tables[0].DefaultView);&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResultsGrid.DataBind();&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas;color:blue'&gt;private&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#2B91AF'&gt;DataView&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; ApplySorting(&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#2B91AF'&gt;DataView&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; dataViewForSorting)&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dataViewForSorting.Sort = ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:#A31515'&gt;&amp;quot;SortExpression&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;].ToString() + &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;&amp;quot; &amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; + ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;&amp;quot;SortDirection&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;].ToString();&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;return&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; dataViewForSorting;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas;color:blue'&gt;public&lt;/span&gt;&lt;b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:blue'&gt;void&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt; ResultsGrid_Sorting(&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas;color:blue'&gt;object&lt;/span&gt;&lt;b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt; sender, &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas;color:#2B91AF'&gt;GridViewSortEventArgs&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; e)&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;if&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; (e.SortExpression.ToString() == ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas; color:#A31515'&gt;&amp;quot;SortExpression&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;].ToString())&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;if&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; (ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;&amp;quot;SortDirection&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;].ToString().StartsWith(&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#A31515'&gt;&amp;quot;ASC&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;))&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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; ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas; color:#A31515'&gt;&amp;quot;SortDirection&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;] = &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:#A31515'&gt;&amp;quot;DESC&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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; ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas; color:#A31515'&gt;&amp;quot;SortDirection&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;] = &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:#A31515'&gt;&amp;quot;ASC&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas; color:#A31515'&gt;&amp;quot;SortExpression&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;] = e.SortExpression.ToString();&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;if&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt; (e.SortDirection == &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:#2B91AF'&gt;SortDirection&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;.Ascending)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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; ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas; color:#A31515'&gt;&amp;quot;SortDirection&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;] = &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:#A31515'&gt;&amp;quot;ASC&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas;color:blue'&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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; ViewState[&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas; color:#A31515'&gt;&amp;quot;SortDirection&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;] = &lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas;color:#A31515'&gt;&amp;quot;DESC&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family: Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&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;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;b&gt;&lt;span style='font-size:12.0pt; font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BindResultGrid();&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span style='font-size:12.0pt;font-family:Consolas'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-8280427764359745639?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/50IWtVbZgIY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/8280427764359745639/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=8280427764359745639" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/8280427764359745639?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/8280427764359745639?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/50IWtVbZgIY/gridview-non-objectsql-datasource.html" title="GridView (non-object/sql DataSource) Paging and Sorting" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/08/gridview-non-objectsql-datasource.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIDRHoyfyp7ImA9WxJaEkQ.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-468238444326282036</id><published>2009-08-03T10:48:00.001Z</published><updated>2009-08-03T10:49:35.497Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-03T10:49:35.497Z</app:edited><title>ASCII Encoded/Binary String Automated SQL Injection Attack</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uJVSh-1BusK9Vchs7Cf0XT5Q96s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uJVSh-1BusK9Vchs7Cf0XT5Q96s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uJVSh-1BusK9Vchs7Cf0XT5Q96s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uJVSh-1BusK9Vchs7Cf0XT5Q96s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Useful code for preventing SQL injections in .NET Querystrings, lifted from the following page:&lt;br /&gt;&lt;a href="http://www.bloombit.com/Articles/2008/05/ASCII-Encoded-Binary-String-Automated-SQL-Injection.aspx"&gt;http://www.bloombit.com/Articles/2008/05/ASCII-Encoded-Binary-String-Automated-SQL-Injection.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;/// &lt;summary&gt;/// global.asax/// &lt;/summary&gt;public class Global : System.Web.HttpApplication{&lt;br /&gt;...&lt;br /&gt;private static string[] SQLKeywords = new string[]&lt;br /&gt;{&lt;br /&gt;"EXEC", "SELECT", "INSERT", "UPDATE", "DELETE",&lt;br /&gt;"CAST", "DECLARE", "NVARCHAR", "VARCHAR"&lt;br /&gt;};&lt;br /&gt;...&lt;br /&gt;protected void Application_BeginRequest(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;HttpContext context = HttpContext.Current;&lt;br /&gt;if (context != null)&lt;br /&gt;{&lt;br /&gt;string queryString =&lt;br /&gt;context.Request.ServerVariables["QUERY_STRING"];&lt;br /&gt;if (string.IsNullOrEmpty(queryString) == false)&lt;br /&gt;{&lt;br /&gt;if (queryString.Length &gt; 500)&lt;br /&gt;throw new SQLInjectionException(string.Format("Unexpected 'QUERY_STRING' length ({0}).", queryString));&lt;br /&gt;queryString = Server.UrlDecode(queryString);&lt;br /&gt;queryString =&lt;br /&gt;queryString.Replace(" ", string.Empty).ToUpper();&lt;br /&gt;foreach (string keyword in SQLKeywords)&lt;br /&gt;{&lt;br /&gt;if (queryString.IndexOf(keyword) != (-1))&lt;br /&gt;throw new SQLInjectionException(string.Format("Unexpected T-SQL keyword ('{0}') has been detected ({1})", keyword, queryString));&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;...}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-468238444326282036?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/ehEBkv_NLbI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/468238444326282036/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=468238444326282036" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/468238444326282036?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/468238444326282036?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/ehEBkv_NLbI/ascii-encodedbinary-string-automated.html" title="ASCII Encoded/Binary String Automated SQL Injection Attack" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/08/ascii-encodedbinary-string-automated.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IERH4-fSp7ImA9WxJaFEs.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-7869360356802199246</id><published>2009-08-03T08:33:00.004Z</published><updated>2009-08-05T10:51:45.055Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-05T10:51:45.055Z</app:edited><title>My 30th birthday is looming....</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gcfTXBFwJW1VnMEV_Z7HhiWwIt4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gcfTXBFwJW1VnMEV_Z7HhiWwIt4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gcfTXBFwJW1VnMEV_Z7HhiWwIt4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gcfTXBFwJW1VnMEV_Z7HhiWwIt4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;...so I've written a list of things I'd like!&lt;br /&gt;&lt;br /&gt;Stuff I’d Like for my Birthday:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Framework Design Guidelines: Conventions, Idioms, and Patterns for re-useable .NET Libraries 2nd Edition, Book/DVD Package&lt;br /&gt;&lt;/strong&gt;&lt;a href="http://www.compman.co.uk/scripts/browse.asp?ref=895703"&gt;http://www.compman.co.uk/scripts/browse.asp?ref=895703&lt;/a&gt;&lt;br /&gt;£22.34&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hitman DVD – Unrated &lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.movietyme.com/catalog/product_info.php?products_id=39063&amp;amp;osCsid=dd991dc5d4a98e3f30952bf39550ad0c"&gt;http://www.movietyme.com/catalog/product_info.php?products_id=39063&amp;amp;osCsid=dd991dc5d4a98e3f30952bf39550ad0c&lt;/a&gt;&lt;br /&gt;£15.99&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;HMV Vouchers!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Iomega 1TB desktop hard drive - Catalogue number: 204-6510&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://direct.tesco.com/q/R.204-6510.aspx"&gt;http://direct.tesco.com/q/R.204-6510.aspx&lt;/a&gt;&lt;br /&gt;£69.94&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Philips SPC1330NC Webcam pro&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://shop.philips.co.uk/servlet/ControllerServlet?Action=DisplayProductDetailsPage&amp;amp;Locale=en_GB&amp;amp;SiteID=rpeeub2c&amp;amp;productID=124455100&amp;amp;s_kwcid=TC9368philips%20spc1330ncS3385570448"&gt;http://shop.philips.co.uk/servlet/ControllerServlet?Action=DisplayProductDetailsPage&amp;amp;Locale=en_GB&amp;amp;SiteID=rpeeub2c&amp;amp;productID=124455100&amp;amp;s_kwcid=TC9368philips%20spc1330ncS3385570448&lt;/a&gt;&lt;br /&gt;£69.99&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Subscription to WebUser Magazine&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.magazinesubscriptionsipc.com/ipc/subs/subsorder.asp?title=XWU&amp;amp;promcode=i272&amp;amp;ctryID=NONE"&gt;http://www.magazinesubscriptionsipc.com/ipc/subs/subsorder.asp?title=XWU&amp;amp;promcode=i272&amp;amp;ctryID=NONE&lt;/a&gt;&lt;br /&gt;About £25 I think&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CLR via C#, 3rd Edition by Jeffrey Richter (I’ve already got the 2nd Edition)&lt;br /&gt;&lt;/strong&gt;Not out yet!&lt;br /&gt;£TBC&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hanns-G 22in HG221AP Wide LCD TFT Black/Silver MonitorMonitor&lt;/strong&gt;&lt;br /&gt;&lt;a href="http://www.svp.co.uk/displays/monitor-22-hanns-g-22-hannsg001_monitor.html"&gt;http://www.svp.co.uk/displays/monitor-22-hanns-g-22-hannsg001_monitor.html&lt;/a&gt;&lt;br /&gt;£109.62&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-7869360356802199246?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/d0BvJcYk0QM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/7869360356802199246/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=7869360356802199246" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/7869360356802199246?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/7869360356802199246?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/d0BvJcYk0QM/my-30th-birthday-is-looming.html" title="My 30th birthday is looming...." /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/08/my-30th-birthday-is-looming.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AERHs-eCp7ImA9WxJXEU0.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-5348477990733979825</id><published>2009-06-04T10:01:00.000Z</published><updated>2009-06-04T10:01:45.550Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-04T10:01:45.550Z</app:edited><title>Search Engine Optimization Toolkit : The Official Microsoft IIS Site</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6SvYKAppnhFeWxI8HIu41W317Hg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6SvYKAppnhFeWxI8HIu41W317Hg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6SvYKAppnhFeWxI8HIu41W317Hg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6SvYKAppnhFeWxI8HIu41W317Hg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.iis.net/extensions/SEOToolkit"&gt;Search Engine Optimization Toolkit : The Official Microsoft IIS Site&lt;/a&gt;: "The IIS Search Engine Optimization (SEO) Toolkit helps Web developers, hosting providers, and Web server administrators to improve their Web site’s relevance in search results by recommending how to make the site content more search engine-friendly. The IIS SEO Toolkit includes the Site Analysis module, the Robots Exclusion module, and the Sitemaps and Site Indexes module, which let you perform detailed analysis and offer recommendations and editing tools for managing your Robots and Sitemaps"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-5348477990733979825?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/tS5hYwltZXo" height="1" width="1"/&gt;</content><link rel="related" href="http://www.iis.net/extensions/SEOToolkit" title="Search Engine Optimization Toolkit : The Official Microsoft IIS Site" /><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/5348477990733979825/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=5348477990733979825" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/5348477990733979825?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/5348477990733979825?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/tS5hYwltZXo/search-engine-optimization-toolkit.html" title="Search Engine Optimization Toolkit : The Official Microsoft IIS Site" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/06/search-engine-optimization-toolkit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMEQ308fCp7ImA9WxJXEU0.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-11430045290718425</id><published>2009-06-04T09:40:00.000Z</published><updated>2009-06-04T09:40:02.374Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-04T09:40:02.374Z</app:edited><title>Download details: Visual Studio Team System 2010 Team Suite Beta 1</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/d_Jy0aeZGRLnnamxAsXh8xkkrmQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d_Jy0aeZGRLnnamxAsXh8xkkrmQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/d_Jy0aeZGRLnnamxAsXh8xkkrmQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/d_Jy0aeZGRLnnamxAsXh8xkkrmQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=255fc5f1-15af-4fe7-be4d-263a2621144b&amp;amp;displaylang=en"&gt;Download details: Visual Studio Team System 2010 Team Suite Beta 1&lt;/a&gt;: "Visual Studio Team System 2010 Team Suite Beta 1 - ISO" free download from microsoft now available (Im very late in posting this but still....)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-11430045290718425?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/JI0wchzS1sQ" height="1" width="1"/&gt;</content><link rel="related" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=255fc5f1-15af-4fe7-be4d-263a2621144b&amp;displaylang=en" title="Download details: Visual Studio Team System 2010 Team Suite Beta 1" /><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/11430045290718425/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=11430045290718425" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/11430045290718425?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/11430045290718425?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/JI0wchzS1sQ/download-details-visual-studio-team.html" title="Download details: Visual Studio Team System 2010 Team Suite Beta 1" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/06/download-details-visual-studio-team.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUCR3g9fip7ImA9WxJXEEk.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-4772959397111182974</id><published>2009-06-03T14:44:00.000Z</published><updated>2009-06-03T14:44:26.666Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-03T14:44:26.666Z</app:edited><title>July 2006 - Posts - Tony Rogerson's ramblings on SQL Server</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QANRoANy9hwH-ifEnlkllW1iP38/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QANRoANy9hwH-ifEnlkllW1iP38/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QANRoANy9hwH-ifEnlkllW1iP38/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QANRoANy9hwH-ifEnlkllW1iP38/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://sqlblogcasts.com/blogs/tonyrogerson/archive/2006/07.aspx"&gt;July 2006 - Posts - Tony Rogerson's ramblings on SQL Server&lt;/a&gt;: "Collations in SQL Server, examples and restrictions" Very handy notes on solving Database Collation Problems!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-4772959397111182974?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/Z2Qzsnuvb_Y" height="1" width="1"/&gt;</content><link rel="related" href="http://sqlblogcasts.com/blogs/tonyrogerson/archive/2006/07.aspx" title="July 2006 - Posts - Tony Rogerson's ramblings on SQL Server" /><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/4772959397111182974/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=4772959397111182974" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/4772959397111182974?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/4772959397111182974?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/Z2Qzsnuvb_Y/july-2006-posts-tony-rogersons.html" title="July 2006 - Posts - Tony Rogerson's ramblings on SQL Server" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/06/july-2006-posts-tony-rogersons.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYNQH8-eCp7ImA9WxJQFU4.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-7293124930318659317</id><published>2009-05-28T19:16:00.000Z</published><updated>2009-05-28T19:16:31.150Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-28T19:16:31.150Z</app:edited><title>Neighbours' shock as cows invade housing estate - Rugby Today - Back to Home Page</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O4y1zUObjLU_1D5oTZ-_J4DMxVI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O4y1zUObjLU_1D5oTZ-_J4DMxVI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O4y1zUObjLU_1D5oTZ-_J4DMxVI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O4y1zUObjLU_1D5oTZ-_J4DMxVI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Its ol news but only just came across it - wish Id have moved here sooner!&lt;br /&gt;&lt;a href="http://www.rugbytoday.co.uk/news/Neighbours39-shock-as-cows-invade.3707696.jp"&gt;Neighbours' shock as cows invade housing estate - Rugby Today - Back to Home Page&lt;/a&gt;: "Neighbours' shock as cows invade housing estate"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-7293124930318659317?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/q1rVByKJuok" height="1" width="1"/&gt;</content><link rel="related" href="http://www.rugbytoday.co.uk/news/Neighbours39-shock-as-cows-invade.3707696.jp" title="Neighbours' shock as cows invade housing estate - Rugby Today - Back to Home Page" /><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/7293124930318659317/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=7293124930318659317" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/7293124930318659317?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/7293124930318659317?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/q1rVByKJuok/neighbours-shock-as-cows-invade-housing.html" title="Neighbours' shock as cows invade housing estate - Rugby Today - Back to Home Page" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/05/neighbours-shock-as-cows-invade-housing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQFQ3w6eyp7ImA9WxJRE0Q.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-533841693798009675</id><published>2009-05-15T13:31:00.000Z</published><updated>2009-05-15T13:31:52.213Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-15T13:31:52.213Z</app:edited><title>How to use SQL Server T-SQL cursors | Microsoft SQL Server Advisor</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-79Qxrnny2iJGQ8jQRy03o3BdFg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-79Qxrnny2iJGQ8jQRy03o3BdFg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-79Qxrnny2iJGQ8jQRy03o3BdFg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-79Qxrnny2iJGQ8jQRy03o3BdFg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;This is a brilliant little example script what absoluted HAVE TO use a cursor - my take generally on this is "If you have to use a cursor youre doing it wrong", however during some work for a client I needed to "duplicate" a hierarchy of items from different nested tables with foreign key references for a questionnaire something along the lines of&lt;br /&gt;Questionnaire table links to Questions table, Questions table links to QuestionLinking table (Where a dependancy between one question and another is held) and so forth. I spent a while looking for a "clean" solution but the only option I found was to iterate through each Questionnaire, Question and Question link at a time as I needed to update the QuestionnaireId, QuestionId and QuestionLinkId from the Source Questionnaire to the Destination Questionnnaire row equivalents... if you have any patterns or approaches tot his type of thing not involving cursors I would love to hear from you!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sqlserveradvisor.blogspot.com/2009/04/sqlserver-cursor-usage-howto-sql-server.html"&gt;How to use SQL Server T-SQL cursors  Microsoft SQL Server Advisor&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-533841693798009675?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/M-xgdFxcTvo" height="1" width="1"/&gt;</content><link rel="related" href="http://sqlserveradvisor.blogspot.com/2009/04/sqlserver-cursor-usage-howto-sql-server.html" title="How to use SQL Server T-SQL cursors | Microsoft SQL Server Advisor" /><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/533841693798009675/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=533841693798009675" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/533841693798009675?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/533841693798009675?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/M-xgdFxcTvo/how-to-use-sql-server-t-sql-cursors.html" title="How to use SQL Server T-SQL cursors | Microsoft SQL Server Advisor" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/05/how-to-use-sql-server-t-sql-cursors.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAARXw8cSp7ImA9WxJSFkk.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-8233678633151907071</id><published>2009-05-06T21:19:00.000Z</published><updated>2009-05-06T21:19:04.279Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-06T21:19:04.279Z</app:edited><title>Internet Explorer 8: Videos</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gZo94LQ_X0a6QfBXhrVH-1wIXa0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gZo94LQ_X0a6QfBXhrVH-1wIXa0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gZo94LQ_X0a6QfBXhrVH-1wIXa0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gZo94LQ_X0a6QfBXhrVH-1wIXa0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a href="http://www.microsoft.com/uk/windows/internet-explorer/videos.aspx?vindex=2"&gt;Internet Explorer 8: Videos&lt;/a&gt;: "Internet Explorer 8: Videos" these, whilst very"microsoft", "vision of the future", "overly gloosy with an irritatingly up-beat narrator", if you know what I mean; much like the Windows Tour video (which i always make a bee line for when a new O/S is released), is actually very informative, concise and easy to understand. It shows key new features and how they work giving a very good insight into the lovely new "community" features. Well worth 5 minutes of your time!! Note: Especially useful is the Compatibility feature which,  a developer, I might just find ver handy if it does indeed invoke the previous versions' of IE' rendering engines!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-8233678633151907071?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/PC1ZAeyYGTw" height="1" width="1"/&gt;</content><link rel="related" href="http://www.microsoft.com/uk/windows/internet-explorer/videos.aspx?vindex=2" title="Internet Explorer 8: Videos" /><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/8233678633151907071/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=8233678633151907071" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/8233678633151907071?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/8233678633151907071?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/PC1ZAeyYGTw/internet-explorer-8-videos.html" title="Internet Explorer 8: Videos" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/05/internet-explorer-8-videos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IHSXk4eCp7ImA9WxJSEUo.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-8757474152857079703</id><published>2009-05-01T09:52:00.001Z</published><updated>2009-05-01T09:52:18.730Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-01T09:52:18.730Z</app:edited><title>Test post via email</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MCMdpZnPGTEVO5hOjvoEDVa_EqA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MCMdpZnPGTEVO5hOjvoEDVa_EqA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MCMdpZnPGTEVO5hOjvoEDVa_EqA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MCMdpZnPGTEVO5hOjvoEDVa_EqA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;A simple test post via email!&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-8757474152857079703?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/kUowiaYQ87s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/8757474152857079703/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=8757474152857079703" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/8757474152857079703?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/8757474152857079703?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/kUowiaYQ87s/test-post-via-email.html" title="Test post via email" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2009/05/test-post-via-email.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUACRn09cSp7ImA9WB9UE0o.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-9148705635037027599</id><published>2007-12-11T11:38:00.000Z</published><updated>2007-12-11T11:49:27.369Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-11T11:49:27.369Z</app:edited><title>HITMAN THE MOVIE</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/B7fVCXsdmf7EGrDIu5o3mfMaOtE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B7fVCXsdmf7EGrDIu5o3mfMaOtE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/B7fVCXsdmf7EGrDIu5o3mfMaOtE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B7fVCXsdmf7EGrDIu5o3mfMaOtE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Well, Im not one for blogging about general everyday stuff but after reading some of the reviews of Hitman I felt I had to my two penneth in. Firstly thes think about those other not-so-great films of computer games, Street Fighter, Tomb Raider, Mario Bros, Mortal Kombat (to a&lt;br /&gt;lesser extent) were all, well, not to be unkind but quite poor. So by that benchmark given the genre anything better than quite poor is a big plus. OK, so nmow we have a general benchmark lets consider some other mitigating factors - whilst Hitman has some superb stunts, special&lt;br /&gt;effects and action sequences you should not go to this film with "This is another Borne Identity/James Bond type of film", it not, firstly the main character is more reminiscent of Leon than either of the two previously mentioned, think World Cinema, Darkened Eastern&lt;br /&gt;European/Russian location, think World Cinema with a bigger budget. There are also some nice "in jokes" - at one point Agent 47 crashes thru a window into a hotel room with two kids playing Hitman the game on the telly - quite amusing if you catch the reference. Now the leading lady&lt;br /&gt;isn't your typical "Bond Girl" shes dark, damaged, sassy and gothic AND she appears partially naked now and again - in my book all these things make her much more intriguing and interesting and indeed more sexy than anything the Bond franchise has produced. The main character IS NOT A "GOODIE" as with Borne and Bond, this guy has been trained from birth to be an assassin and it is his sole purpose, no sleeping with anything that moves, no witty repartee just a case full of weaponry and some bad-ass hand to hand combat get this guy thru life. The gadgets whilst fanciful in places have at least the potential to exist and are generally believable and used judiciously. Personally I thought that this film was one of the best Ive seen so far this year and, even if you don't go and see it at the cinema its certainly worth a rental - especially if you have surround sound and a hi-def telly to enjoy all the gun fights and explosions! Its efinitely a lads movie but not so much your "I like guns and stuff blowing up me" type of lad film more a "Im interested in see some alternative characters play out an intercontinental game of cat and mouse with high violence and some reasonable character development". The leading man, though Ive forgotten his name, must have been able to memorise his lines in an afternoon - he remains mostly silent throughout the film, punctuated occaisionally by some direct instruction which generally either ends or saves someones life, this guy however is not devoid of character, you are left with the distinct impression that theres a world of torment and angst behind those eyes and that whilst he never expresses it in words his facial reactions say it all whilst giving away nothing!&lt;br /&gt;&lt;br /&gt;All in all a FIVE STAR film - SEE IT NOW!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-9148705635037027599?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/L7faQIMvIGI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/9148705635037027599/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=9148705635037027599" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/9148705635037027599?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/9148705635037027599?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/L7faQIMvIGI/hitman-movie.html" title="HITMAN THE MOVIE" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2007/12/hitman-movie.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QFR3w8eip7ImA9WB9VEkg.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-7892722602173917010</id><published>2007-11-28T13:04:00.000Z</published><updated>2007-11-28T13:08:36.272Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-28T13:08:36.272Z</app:edited><title>Javascript Goodies</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4mWjQYTmjDoCoOF2KtOc39TKmoU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4mWjQYTmjDoCoOF2KtOc39TKmoU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4mWjQYTmjDoCoOF2KtOc39TKmoU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4mWjQYTmjDoCoOF2KtOc39TKmoU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;I’ve recently had to deal with some very run of the mill client side validation, namely validation a comma separated list of email addresses – I was so pleased with my cobble together of bits of code I found on the net that I thought Id post it here for the next time! Also a handy bit of script to “trim” a string in javascript and adding the trim method to the String object… NICE!&lt;br /&gt;&lt;br /&gt;   String.prototype.trim = function() { return this.replace(/^\s+\s+$/g, ''); }&lt;br /&gt;&lt;br /&gt;    function CheckEmailAddresses()&lt;br /&gt;    {&lt;br /&gt;        var recipients = document.getElementById('recipients').getAttribute('innerText').split(',');&lt;br /&gt;        var emailRegEx = /^(("[\w-\s]+")([\w-]+(?:\.[\w-]+)*)("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)(@\[?((25[0-5]\.2[0-4][0-9]\.1[0-9]{2}\.[0-9]{1,2}\.))((25[0-5]2[0-4][0-9]1[0-9]{2}[0-9]{1,2})\.){2}(25[0-5]2[0-4][0-9]1[0-9]{2}[0-9]{1,2})\]?$)/i&lt;br /&gt;        for (var email in recipients)&lt;br /&gt;        {&lt;br /&gt;            if(emailRegEx.test(recipients[email].trim()))&lt;br /&gt;            {&lt;br /&gt;                alert('good');&lt;br /&gt;            } else {&lt;br /&gt;                alert('bad');&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;Thanx go to the following locations:&lt;br /&gt;Trim function: &lt;a title="http://www.nicknettleton.com/zine/javascript/trim-a-string-in-javascript" href="http://www.nicknettleton.com/zine/javascript/trim-a-string-in-javascript"&gt;http://www.nicknettleton.com/zine/javascript/trim-a-string-in-javascript&lt;/a&gt;&lt;br /&gt;Email Regex: &lt;a title="http://xyfer.blogspot.com/2005/01/javascript-regexp-email-validator.html" href="http://xyfer.blogspot.com/2005/01/javascript-regexp-email-validator.html"&gt;http://xyfer.blogspot.com/2005/01/javascript-regexp-email-validator.html&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-7892722602173917010?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/_eeNqkvQxEc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/7892722602173917010/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=7892722602173917010" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/7892722602173917010?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/7892722602173917010?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/_eeNqkvQxEc/javascript-goodies.html" title="Javascript Goodies" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2007/11/javascript-goodies.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QBRX49eip7ImA9WBFUGU4.&quot;"><id>tag:blogger.com,1999:blog-30031412.post-5295360352643356671</id><published>2007-04-30T11:05:00.001Z</published><updated>2007-04-30T11:09:14.062Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-04-30T11:09:14.062Z</app:edited><title>The Brooba Revolution!</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3a6t5p8EE5apPoQS1vA6CHnlyJU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3a6t5p8EE5apPoQS1vA6CHnlyJU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3a6t5p8EE5apPoQS1vA6CHnlyJU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3a6t5p8EE5apPoQS1vA6CHnlyJU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I just thought Id drop in a quick note about my new project, Brooba.com , the concept behind this site is quite simple - Why shoudl you have to pay extra fees when buying/selling/exchanging/searching for a house - this site puts users together giving them the tools necessary to end their Housing woes - do check it out and pre-register - more info to follow!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.brooba.com"&gt;http://www.brooba.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30031412-5295360352643356671?l=ilovedevelopment.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/bWkBX/~4/wZP8OhSpAIA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ilovedevelopment.blogspot.com/feeds/5295360352643356671/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=30031412&amp;postID=5295360352643356671" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/5295360352643356671?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/30031412/posts/default/5295360352643356671?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/bWkBX/~3/wZP8OhSpAIA/brooba-revolution_30.html" title="The Brooba Revolution!" /><author><name>Luke Baughan</name><uri>https://profiles.google.com/100733224154693753663</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-6ePdykV1_BU/AAAAAAAAAAI/AAAAAAAAAAA/CMwS5MkV28M/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://ilovedevelopment.blogspot.com/2007/04/brooba-revolution_30.html</feedburner:origLink></entry></feed>

