<feed xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
    <title>Rodj's Blog</title>
    <link rel="self" type="application/atom+xml" href="http://blog.rodj.org/Atom.aspx" />
    <subtitle type="html">Rodj lives in Edinburgh, Scotland and tries to build C# applications.</subtitle>
    <id>http://blog.rodj.org/Default.aspx</id>
    <author>
        <name>Roger Chapman</name>
        <uri>http://blog.rodj.org/Default.aspx</uri>
    </author>
    <generator uri="http://subtextproject.com" version="Subtext Version 2.0.0.0">Subtext</generator>
    <updated>2008-10-17T10:20:39Z</updated>
    <entry>
        <title>ASP.NET MVC Update Preview 5 to Beta - Part 2</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/10/17/asp.net-mvc-update-preview-5-to-beta-part-2.aspx" />
        <id>http://blog.rodj.org/archive/2008/10/17/asp.net-mvc-update-preview-5-to-beta-part-2.aspx</id>
        <published>2008-10-17T10:07:26Z</published>
        <updated>2008-10-17T10:07:26Z</updated>
        <content type="html">&lt;p&gt;Part one was an in-depth look at upgrading ASP.NET MVC Preview 5 to the new Beta which you can view &lt;a href="http://blog.rodj.org/archive/2008/10/16/asp.net-mvc-update-preview-5-to-beta.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;In the above post I talked about the Microsoft Futures assembly and the fact that there was not one yet released for the Beta... Well, in true "Gu" style, Scott Guthrie has written an (another) &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/10/16/asp-net-mvc-beta-released.aspx"&gt;awesome post&lt;/a&gt; on all the new changes and fixes to the ASP.NET MVC Beta, which includes a link to the new &lt;a href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=aspnet&amp;amp;ReleaseId=18459"&gt;Microsoft Futures assembly on CodePlex&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Thanks Scott....it was the last thing I was needing in my MVC Preview 5 to Beta update.&lt;/p&gt; &lt;p&gt;By the way, I'm loving the new strongly typed  "Add View..." from the controller. (if you don't know what this is check out &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/10/16/asp-net-mvc-beta-released.aspx"&gt;Scott's post&lt;/a&gt; on the new release.&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:44fbe5ab-54dd-45a7-9eae-bdb963d1acc2" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET%20MVC" rel="tag"&gt;ASP.NET MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft%20Futures" rel="tag"&gt;Microsoft Futures&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/30.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/30.aspx</wfw:comment>
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/30.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/30.aspx</trackback:ping>
    </entry>
    <entry>
        <title>ASP.NET MVC Update Preview 5 to Beta</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/10/16/asp.net-mvc-update-preview-5-to-beta.aspx" />
        <id>http://blog.rodj.org/archive/2008/10/16/asp.net-mvc-update-preview-5-to-beta.aspx</id>
        <published>2008-10-16T13:32:40Z</published>
        <updated>2008-10-17T10:20:39Z</updated>
        <content type="html">&lt;p&gt;Well, I'm biting the bullet and I'm going to update my ASP.NET MVC Preview 5 project to the beta!&lt;/p&gt; &lt;p&gt;This Beta is an official release; as the previous "official" release was Preview 3. Lets see how it goes:&lt;/p&gt; &lt;h3&gt;Step 1 - Install the Beta&lt;/h3&gt; &lt;p&gt;This kind of goes without saying, but I this is a step by step guide. &lt;/p&gt; &lt;p&gt;Make sure all Instances of Visual Studio has been closed, Uninstall ASP.NET MVC Preview 5, then run the Beta Installer:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCUpdatePreview5toBeta_96C0/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCUpdatePreview5toBeta_96C0/image_thumb.png" width="244" height="189" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Start up Visual Studio and open your MVC project.&lt;/p&gt; &lt;h3&gt;Step 2 - Update your assembly references&lt;/h3&gt; &lt;p&gt;Update the following references in your web project to the new Beta dll's:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;System.Web.Abstractions.dll  &lt;/li&gt;&lt;li&gt;System.Web.Routing.dll  &lt;/li&gt;&lt;li&gt;System.Web.Mvc.dll&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The default location for these are in: %ProgramFiles%\Microsoft ASP.NET\ASP.NET MVC Beta&lt;/p&gt; &lt;h3&gt;Step 3 - Add web.config namespace and assembly&lt;/h3&gt; &lt;p&gt;All the Html Helper extension methods have been moved to there own namespace: System.Web.Mvc.Html. You need to add this namespace to your web.config in order for the Html Helpers to show up in your views etc.&lt;/p&gt; &lt;p /&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c59206e6-1afa-423e-8c7d-a20aa9888b24" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="xml:nogutter"&gt;&amp;lt;namespaces&amp;gt;
	&amp;lt;add namespace="System.Web.Mvc.Html"/&amp;gt;
    &amp;lt;add namespace="Microsoft.Web.Mvc"/&amp;gt;
    &amp;lt;add namespace="System.Web.Mvc"/&amp;gt;
    &amp;lt;add namespace="System.Web.Routing"/&amp;gt;
    &amp;lt;add namespace="System.Linq"/&amp;gt;
    &amp;lt;add namespace="System.Collections.Generic"/&amp;gt;
&amp;lt;/namespaces&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;p&gt;You'll also have to add this namespace if you use any of the input extensions in your own HtmlHelper extensions.&lt;/p&gt;
&lt;p&gt;Because Mvc is now installed in the GAC I had to add the assembly to the compilation section:&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:58e39bc0-3ecc-40fe-9dff-0114411496d4" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="xml:nogutter"&gt;&amp;lt;compilation debug="true"&amp;gt;
    &amp;lt;assemblies&amp;gt;
        &amp;lt;add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/&amp;gt;
        &amp;lt;add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&amp;gt;
        &amp;lt;add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&amp;gt;
        &amp;lt;add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/&amp;gt;
        &amp;lt;add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/&amp;gt;
        &amp;lt;add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/&amp;gt;
        &amp;lt;add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/&amp;gt;
        &amp;lt;add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/&amp;gt;
    &amp;lt;/assemblies&amp;gt;
&amp;lt;/compilation&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Step 4 - Change Html.Form...maybe!&lt;/h3&gt;
&lt;p&gt;In this release the HtmlHelper Form has been changed to BeginForm. This returns a MvcForm which is IDisposable so you can still wrap it up in a using statement or use the Html.EndForm().&lt;/p&gt;
&lt;p&gt;The reason that I've said "maybe" is that most of my forms use the HtmlHelper Form from the Microsoft Mvc Futures assembly. This allows me to use the nice Generic form with Linq:&lt;/p&gt;
&lt;p /&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:e55ccc8e-cbdb-416b-8f6b-e1c5d89add44" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="c#:nogutter"&gt;&amp;lt;% using (Html.Form&amp;lt;HomeController&amp;gt;( x =&amp;gt; x.Index() )) { %&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;p&gt;I prefer to use this way as it does not involve entering the controller and action as strings. &lt;/p&gt;
&lt;p&gt;If you want to use this way just reference the Microsoft.Web.Mvc.dll which was made available in Preview 5. They say (Microsoft aka &lt;a href="http://haacked.com/archive/2008/09/05/mvcfutures-and-asp.net-mvc-beta.aspx"&gt;Phil Haack&lt;/a&gt;) that the MvcFutures will be available on &lt;a href="http://www.codeplex.com/aspnet"&gt;CodePlex&lt;/a&gt;, but I have not found the new version since the Beta. Something to remember to update...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UPDATE (17-10-2008): See &lt;a href="http://blog.rodj.org/archive/2008/10/17/asp.net-mvc-update-preview-5-to-beta-part-2.aspx"&gt;Part 2&lt;/a&gt; for info on the Microsoft Futures for Beta.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Don't forget to add this to your namespace section in your web.config as above.&lt;/p&gt;
&lt;p&gt;If you use FormMethod anywhere in your code you may get an ambiguous reference now....so just reference the correct one (in my case the one in the Microsoft Futures). Same goes for the FormCollection.&lt;/p&gt;
&lt;h3&gt;Step 5 - Update any Custom View Engines&lt;/h3&gt;
&lt;p&gt;The IViewEngine now was a new method that you need to implement:&lt;/p&gt;
&lt;p /&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:b4e2485d-b823-4e6f-85b1-7dcb573aa9fd" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="c#:nogutter"&gt;public void ReleaseView(ControllerContext controllerContext, IView view)
{
    throw new NotImplementedException();
}&lt;/pre&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;p&gt;Also the ViewEngineResult constructor now need an IViewEngine as well as the IView:&lt;/p&gt;
&lt;p /&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:c65099a6-b7ad-48fc-a507-1fcb6b7d037f" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="c#:nogutter"&gt;return new ViewEngineResult(new WebFormView(viewPath), new WebFormViewEngine());&lt;/pre&gt;&lt;/div&gt;
&lt;p /&gt;
&lt;h3&gt;Step 5 - Build your project&lt;/h3&gt;
&lt;p&gt;Check to see if you get an other compilation errors. &lt;/p&gt;
&lt;p&gt;I got one with an ambiguous reference to the FormMethod Enum in one of my partial views.&lt;/p&gt;
&lt;h3&gt;Step 6 - Test your project.&lt;/h3&gt;
&lt;p&gt;My project seems to be working, but make sure you check all area's. Time to run your unit tests, intergration tests and acceptance test!&lt;/p&gt;
&lt;p&gt;That's it for me...let me know if you come across any other changes that you have had to make.&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:79c4c739-8f40-414e-9a6d-75a48b06f1d5" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET%20MVC" rel="tag"&gt;ASP.NET MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MVC" rel="tag"&gt;MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BETA" rel="tag"&gt;BETA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Preview%205" rel="tag"&gt;Preview 5&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/29.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/29.aspx</wfw:comment>
        <slash:comments>3</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/29.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/29.aspx</trackback:ping>
    </entry>
    <entry>
        <title>ASP.NET MVC Beta - Released!</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/10/16/asp.net-mvc-beta-released.aspx" />
        <id>http://blog.rodj.org/archive/2008/10/16/asp.net-mvc-beta-released.aspx</id>
        <published>2008-10-16T10:02:39Z</published>
        <updated>2008-10-16T10:02:39Z</updated>
        <content type="html">&lt;p&gt;Has anyone else noticed that Microsoft have released the beta version of ASP.NET MVC?&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCBetaReleased_8CA1/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCBetaReleased_8CA1/image_thumb.png" width="244" height="205" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;You can get it from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a24d1e00-cd35-4f66-baa0-2362bdde0766&amp;amp;DisplayLang=en"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Happy MVC-ing....&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:034bac29-5f88-4526-9c39-79e3021b5fa6" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET%20MVC" rel="tag"&gt;ASP.NET MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Beta" rel="tag"&gt;Beta&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/28.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/28.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/28.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/28.aspx</trackback:ping>
    </entry>
    <entry>
        <title>ASP.NET MVC Action Filter to Detect Mobile Devices Update</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/10/06/asp.net-mvc-action-filter-to-detect-mobile-devices-update.aspx" />
        <id>http://blog.rodj.org/archive/2008/10/06/asp.net-mvc-action-filter-to-detect-mobile-devices-update.aspx</id>
        <published>2008-10-06T16:46:47Z</published>
        <updated>2008-10-06T16:46:47Z</updated>
        <content type="html">&lt;p&gt;&lt;a href="http://blogger.forgottenskies.com/"&gt;Steve&lt;/a&gt; asked me in a &lt;a href="http://blog.rodj.org/archive/2008/10/02/asp.net-mvc-action-filter-to-detect-mobile-devices.aspx"&gt;previous post&lt;/a&gt; for a sample application for detecting a mobile device and rendering a mobile view in ASP.NET MVC.&lt;/p&gt; &lt;p&gt;You can download a sample MVC app &lt;a href="http://blog.rodj.org/Downloads/MobileViewApp.zip"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The app is the same as the ASP.NET MVC template that the "GU" put together, with the added mobile action filter and views.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCActionFiltertoDetectMobileDevi_E818/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCActionFiltertoDetectMobileDevi_E818/image_thumb.png" width="112" height="244" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I've also updated my mobile browser detection. Turns out not to be so straight forward as new phones are coming out all the time with different User Agents etc. This is the best "generic" way I could find:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:43bffa11-a6e3-47a3-b91f-0d06d4e92bc5" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="c#:nogutter"&gt;if (filterContext.HttpContext.Request.Browser.IsMobileDevice || 
	filterContext.HttpContext.Request.ServerVariables["HTTP_ACCEPT"].Contains("text/vnd.wap.wml") ||
	filterContext.HttpContext.Request.ServerVariables["HTTP_ACCEPT"].Contains("application/vnd.wap.xhtml+xml")
)
			&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Hope this help Steve, let me know how you get on.&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:24baaefa-079d-4468-9358-660e6cf69122" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Mobile" rel="tag"&gt;Mobile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET%20MVC" rel="tag"&gt;ASP.NET MVC&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/27.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/27.aspx</wfw:comment>
        <slash:comments>4</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/27.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/27.aspx</trackback:ping>
    </entry>
    <entry>
        <title>ASP.NET MVC Action Filter to Detect Mobile Devices</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/10/02/asp.net-mvc-action-filter-to-detect-mobile-devices.aspx" />
        <id>http://blog.rodj.org/archive/2008/10/02/asp.net-mvc-action-filter-to-detect-mobile-devices.aspx</id>
        <published>2008-10-02T09:28:17Z</published>
        <updated>2008-10-02T09:28:17Z</updated>
        <content type="html">&lt;p&gt;One of the great things about MVC is the ability to direct any Controller Action to any named View that you want.&lt;/p&gt; &lt;p&gt;This means that I'm able to detect wether the browser is a mobile device and direct them to the Mobile View:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:0969b6a9-7c9b-4338-9071-35dc9f8ee54b" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="c#:nogutter"&gt;public ActionResult Index()
{
	if (Convert.ToBoolean(filterContext.HttpContext.Request.Browser["IsMobileDevice"]))
	{
		return View("Index_mobile")
	}
   return View();
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This works great. My Index_mobile.aspx view has a Master Page (just like any other view) that sets up the doc type and styles, and I can render the view as normal. The doc type I used is:&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:9fcee38d-bb32-4b5e-98a7-306467f4496d" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="xml:nogutter"&gt;&amp;lt;!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Another way is to use an ActionFilterAttribute to detect if the browser is a mobile device and then append "_mobile" to the current view.&lt;/p&gt;
&lt;p&gt;The benefit of using an action filter is that I can just mark up my Action Method or Controller with this attribute and it will automatically render a mobile view.&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:fd88b982-d093-4c5c-a502-8d8dd4f0852e" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="c#:nogutter"&gt;[MobileUserFilter]
public ActionResult Index()
{
	return View();
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:62f3d1bf-c50f-4c72-85b7-f2e7b9fbca24" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="c#:nogutter"&gt;public class MobileUserFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        if (Convert.ToBoolean(filterContext.HttpContext.Request.Browser["IsMobileDevice"]))
        {
            var action = (string)filterContext.RouteData.Values["action"];
            var viewName = ((ViewResult) filterContext.Result).ViewName;
            if (string.IsNullOrEmpty(viewName)) viewName = action;

            var result = new ViewResult
                            {
                                ViewName = (viewName + "_mobile"),
                                MasterName = ((ViewResult) filterContext.Result).MasterName,
                                ViewData = ((ViewResult) filterContext.Result).ViewData,
                                TempData = ((ViewResult) filterContext.Result).TempData
                            };

            filterContext.Result = result;
            filterContext.HttpContext.Response.Clear();
        }

        base.OnActionExecuted(filterContext);
    }
}&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCActionFiltertoDetectMobileDevi_B2DE/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCActionFiltertoDetectMobileDevi_B2DE/image_thumb.png" width="193" height="115" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;There we have it now we have a mobile site:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCActionFiltertoDetectMobileDevi_B2DE/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ASP.NETMVCActionFiltertoDetectMobileDevi_B2DE/image_thumb_1.png" width="109" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;By the way, I'm testing my mobile site on Openwave Phone Simulator which you can download &lt;a href="http://developer.openwave.com/dvl/tools_and_sdk/phone_simulator/index.htm"&gt;here&lt;/a&gt;. Does anybody use a better Phone Emulator? Let me know if you do, I'd love to try it out.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9ed0fb9f-32d4-4329-90af-2a7b34b2c737" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET%20MVC" rel="tag"&gt;ASP.NET MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Mobile" rel="tag"&gt;Mobile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PDA" rel="tag"&gt;PDA&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Action%20Filters" rel="tag"&gt;Action Filters&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/26.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/26.aspx</wfw:comment>
        <slash:comments>4</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/26.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/26.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Silverlight Guru has a blog!</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/09/26/silverlight-guru-has-a-blog.aspx" />
        <id>http://blog.rodj.org/archive/2008/09/26/silverlight-guru-has-a-blog.aspx</id>
        <published>2008-09-26T14:01:11Z</published>
        <updated>2008-09-29T09:18:31Z</updated>
        <content type="html">&lt;p&gt;I few posts ago I mentioned a colleague Bob Thomson, and how he needed to get a blog started.&lt;/p&gt; &lt;p&gt;Well... he's actually listened to me! He's created a blog under &lt;a href="http://www.stormid.com"&gt;Storm ID&lt;/a&gt;'s (the company we both work for.) little sister.&lt;/p&gt; &lt;p&gt;Introducing:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/SilverlightGuruhasablog_AD90/image_2.png"&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/SilverlightGuruhasablog_AD90/image_thumb.png" width="244" height="93" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Bob's blog is located at &lt;a href="http://blog.stormideas.com/"&gt;http://blog.stormideas.com/&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Check it out; it will have loads of cool ideas for applications as well as cutting edge information on Silverlight.&lt;/p&gt; &lt;p&gt;Nice one Bob...look forward to reading your blog! :)&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3528796b-887f-4110-87aa-e3b61e350b86" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Storm%20Ideas" rel="tag"&gt;Storm Ideas&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/25.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/25.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/25.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/25.aspx</trackback:ping>
    </entry>
    <entry>
        <title>ASP.NET MVC Image Handler</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/09/24/asp.net-mvc-image-handler.aspx" />
        <id>http://blog.rodj.org/archive/2008/09/24/asp.net-mvc-image-handler.aspx</id>
        <published>2008-09-24T16:00:24Z</published>
        <updated>2008-09-26T09:31:51Z</updated>
        <content type="html">&lt;p&gt;In the "olden days" of Web Forms, to render an image from the database you would have to create a HttpHandler.&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:b061baad-0483-4167-9856-13b1a5388a88" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="xml:nogutter"&gt;&amp;lt;httpHandlers&amp;gt;
	&amp;lt;add verb="GET" path="image.ashx" type="MyApp.Web.ImageHandler, MyApp.Web" validate="false"/&amp;gt;
&amp;lt;/httpHandlers&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In ASP.NET MVC you can now use a Controller Action and View to handle an image. One of the benefits is that it can harness the power of System.Web.Routing and there are no web.config sections to maintain.&lt;/p&gt;
&lt;h3&gt;Step 1 - add a route&lt;/h3&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:86c9fded-328a-47a4-afc6-80178cb8e819" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="c#:nogutter"&gt;routes.MapRoute(
	"MyImageHandler",
	"image/{id}/{type}.png",
	new {controller = "ImageHandler", action = "Image"}
	);&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Step 2 - create image handling controller&lt;/h3&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:5cfd8a78-1f1e-4e95-adec-12f49dc42948" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="c#:nogutter"&gt;public class FeaturedBusinessesController : Controller
{       
	public ActionResult Image(string type, Guid id)        
	{            
		var myObject = CatalogService.GetMyObject(id);
		
		byte[] imageData = null;             
		
		if(type == "large")            
		{                
			if(myObject.LargeImage != null)                     
			imageData = myObject.LargeImage.Data;            
		}            
		else if(type == "thumb")            
		{                
			if(myObject.ThumbImage != null)                    
			imageData = myObject.ThumbImage.Data;            
		}            
		if (imageData != null) Response.BinaryWrite(imageData);    
		
		return View();        
	}    
}&lt;/pre&gt;&lt;/div&gt;
&lt;h3&gt;Step 3 - create the view&lt;/h3&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:5aaaf70f-b570-41d0-b8d6-0e4e62eacf45" class="wlWriterSmartContent"&gt;&lt;pre name="code" class="xml:nogutter"&gt;&amp;lt;%@ Page Language="C#" ContentType="image/png" AutoEventWireup="true" CodeBehind="Image.aspx.cs" Inherits="MyApp.Web.Views.ImageHandler.Image" %&amp;gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;NOTE: Notice that the ContentType of the page has been set to "image/png"&lt;/p&gt;
&lt;h3&gt;Step 4 - render image on your page&lt;/h3&gt;
&lt;p&gt;The image will now be viewable by going to: /image/8234633b-79b9-4500-a9c8-9b2100c80030/thumb.png&lt;/p&gt;
&lt;p&gt;You can change the route however you want and pass in as many parameters to the Image method in order to get the image data back from the database (or any other storage). &lt;/p&gt;
&lt;p&gt;Say goodbye to HttpHandlers !???&lt;/p&gt;
&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1e91107c-b2dc-4bd4-a5be-0d5de9c7f8f0" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MVC" rel="tag"&gt;MVC&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/22.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/22.aspx</wfw:comment>
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/22.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/22.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Moving from Windows Server 2003 to Vista</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/09/09/moving-from-windows-server-2003-to-vista.aspx" />
        <id>http://blog.rodj.org/archive/2008/09/09/moving-from-windows-server-2003-to-vista.aspx</id>
        <published>2008-09-09T11:00:40Z</published>
        <updated>2008-09-09T11:00:40Z</updated>
        <content type="html">&lt;p&gt;My current development machine is Windows Server 2003. Because I'm doing a lot of ASP.NET MVC work, I want to be able to test my applications on IIS7.&lt;/p&gt; &lt;p&gt;I've been testing on Virtual Machines and production servers that are running Windows Server 2008, however this is just a bit of a pain while in development. The only way is to upgrade my OS.&lt;/p&gt; &lt;p&gt;The easiest way to upgrade would be to Server 2008, however there is licensing issues with using Server 2008 as a development machine. So my only option is Windows Vista.&lt;/p&gt; &lt;p&gt;One slight problem is that there is no upgrade path from Server 2003 to Vista. Looks like I'm going to have to wipe my machine and start from scratch....re-installing every single application that I use! &lt;/p&gt; &lt;p&gt;That is even &lt;em&gt;more&lt;/em&gt; of a pain!&lt;/p&gt; &lt;p&gt;Does anyone have any good ideas that would make this transition a little less painful? &lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:deea8247-3fb7-4609-9a96-311a80389de9" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/IIS7" rel="tag"&gt;IIS7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/21.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/21.aspx</wfw:comment>
        <slash:comments>1</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/21.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/21.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Thought's on Silverlight 2 Applications</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/09/05/thoughts-on-silverlight-2-applications.aspx" />
        <id>http://blog.rodj.org/archive/2008/09/05/thoughts-on-silverlight-2-applications.aspx</id>
        <published>2008-09-05T15:19:12Z</published>
        <updated>2008-09-05T15:19:12Z</updated>
        <content type="html">&lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ThoughtsonSilverlight2Applications_D755/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/ThoughtsonSilverlight2Applications_D755/image_thumb.png" width="224" height="244" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I work for a web development company in Edinburgh called Storm ID (&lt;a href="http://www.stormid.com"&gt;http://www.stormid.com&lt;/a&gt;). We love staying at the forefront  of web technology; ASP.NET MVC, WCF, Silverlight....&lt;/p&gt; &lt;p&gt;Our company's Silverlight guru is Bob Thomson. "The Drum" (&lt;a href="http://www.thedrum.co.uk"&gt;http://www.thedrum.co.uk&lt;/a&gt;) has published an article on Bob's thought's on Silverlight 2.0: &lt;/p&gt; &lt;p&gt;"Hi Ho Silver! Has Flash Had Its Day?" &lt;br /&gt;&lt;a href="http://www.thedrum.co.uk/indepth/1650-hi-ho-silver-has-flash-had-its-day-"&gt;http://www.thedrum.co.uk/indepth/1650-hi-ho-silver-has-flash-had-its-day-&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Love the title Bob! &lt;/p&gt; &lt;p&gt;Bob discuses all the current Web technologies from Flex/Flash, HTML/JavaScript/AJAX, to Silverlight and Microsoft Mesh. Really interesting article.&lt;/p&gt; &lt;p&gt;All we need now is a Bob to set up his own blog so the rest of us can keep up with his "cutting edge" Silverlight development. &lt;em&gt;"Come on Bob....how about it!"&lt;/em&gt;&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:72aed1e8-bf7f-456d-b0eb-d22a7f748d11" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Flash" rel="tag"&gt;Flash&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AJAX" rel="tag"&gt;AJAX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/JavaScript" rel="tag"&gt;JavaScript&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Web%20Technology" rel="tag"&gt;Web Technology&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/20.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/20.aspx</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/20.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/20.aspx</trackback:ping>
    </entry>
    <entry>
        <title>Google Chrome - the developers browser?</title>
        <link rel="alternate" type="text/html" href="http://blog.rodj.org/archive/2008/09/03/google-chrome-the-developers-browser.aspx" />
        <id>http://blog.rodj.org/archive/2008/09/03/google-chrome-the-developers-browser.aspx</id>
        <published>2008-09-03T17:17:28Z</published>
        <updated>2008-09-03T17:20:10Z</updated>
        <content type="html">&lt;p&gt;The likelihood of you &lt;em&gt;not&lt;/em&gt; knowing what Google Chrome is very very slim.... but just in case here is the link: &lt;a href="http://www.google.com/chrome/"&gt;http://www.google.com/chrome/&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;Must Have's&lt;/h3&gt; &lt;p&gt;As a web developer my default browser must be able to handle certain developer needs (other than rendering the website/application correctly). &lt;/p&gt; &lt;p&gt;The most useful web developer tool is a very well known guru of an add-on for Firefox:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/GoogleChromethedevelopersbrowser_F309/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/GoogleChromethedevelopersbrowser_F309/image_thumb.png" width="244" height="136" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;You guessed it Firebug!&lt;/p&gt; &lt;p&gt;So my first question is &lt;em&gt;"What does Chrome offer?"&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Goggle Chrome has it's very own "Inspector":&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/GoogleChromethedevelopersbrowser_F309/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/GoogleChromethedevelopersbrowser_F309/image_thumb_1.png" width="244" height="169" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/GoogleChromethedevelopersbrowser_F309/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/GoogleChromethedevelopersbrowser_F309/image_thumb_2.png" width="244" height="169" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This is nice Google! Clearly based of Firebug, Chromes version has all the stuff (sorry for being so technical!) you would expect.&lt;/p&gt; &lt;p&gt;The UI is very much like the rest of the browser: clean, simple and nice to use. Far better that IE8's version of the Developer Toolbar.&lt;/p&gt; &lt;p&gt;To bring up the inspector you can either right click on any element on your web page and select "Inspect element" or select "Developer" -&amp;gt; "JavaScript console " from the Page menu &lt;a href="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/GoogleChromethedevelopersbrowser_F309/image_8.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://blog.rodj.org/images/blog_rodj_org/rogchap/WindowsLiveWriter/GoogleChromethedevelopersbrowser_F309/image_thumb_3.png" width="38" height="27" /&gt;&lt;/a&gt; .&lt;/p&gt; &lt;h3&gt;What else?&lt;/h3&gt; &lt;p&gt;There are loads of feature in Google Chrome...and lots of features to come, but as a web developer it renders fast, looks great, works well...and therefore I setting Google Chrome as my default browser...for now.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;What do you think?&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f685b2ba-2862-4dc3-a209-638d33ce7ef8" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Google%20Chrome" rel="tag"&gt;Google Chrome&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Browser" rel="tag"&gt;Browser&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.rodj.org/aggbug/19.aspx" width="1" height="1" /&gt;</content>
        <wfw:comment>http://blog.rodj.org/comments/19.aspx</wfw:comment>
        <slash:comments>2</slash:comments>
        <wfw:commentRss>http://blog.rodj.org/comments/commentRss/19.aspx</wfw:commentRss>
        <trackback:ping>http://blog.rodj.org/services/trackbacks/19.aspx</trackback:ping>
    </entry>
</feed>