<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://codebetter.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">David Hayden [MVP C#]</title><subtitle type="html">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.NET Tutorials, Patterns, and Practices</subtitle><id>http://codebetter.com/blogs/david.hayden/atom.aspx</id><link rel="alternate" type="text/html" href="http://codebetter.com/blogs/david.hayden/default.aspx" /><link rel="self" type="application/atom+xml" href="http://codebetter.com/blogs/david.hayden/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.31106.3070">Community Server</generator><updated>2009-03-06T15:31:00Z</updated><entry><title>HandleUnknownAction in ASP.NET MVC – Be Careful</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/07/02/handleunknownaction-in-asp-net-mvc-be-careful.aspx" /><id>/blogs/david.hayden/archive/2009/07/02/handleunknownaction-in-asp-net-mvc-be-careful.aspx</id><published>2009-07-02T20:19:00Z</published><updated>2009-07-02T20:19:00Z</updated><content type="html">&lt;p&gt;One of my team members was showing me some code in HandleUnknownAction based upon sample code in the &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.handleunknownaction.aspx"&gt;online documentation&lt;/a&gt;. Per the documentation:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;The following example shows how to render views that do not have a matching ActionResult method. For example, if you have a Details.aspx view but no corresponding method exists that returns an ActionResult instance, the following example displays the Details view when a request to for the Details action is made on the controller. If there is no matching view, the error page displays a message.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="font-size:9pt;color:black;font-family:verdana;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#400080;"&gt;protected&lt;/span&gt; &lt;span style="color:#400080;"&gt;override&lt;/span&gt; &lt;span style="color:#400080;"&gt;void&lt;/span&gt; &lt;span style="color:#010001;"&gt;HandleUnknownAction&lt;/span&gt;(&lt;span style="color:#400080;"&gt;string&lt;/span&gt; &lt;span style="color:#010001;"&gt;actionName&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;{&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#400080;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#010001;"&gt;View&lt;/span&gt;(&lt;span style="color:#010001;"&gt;actionName&lt;/span&gt;)&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;&lt;span style="color:#010001;"&gt;ExecuteResult&lt;/span&gt;(&lt;span style="color:#010001;"&gt;ControllerContext&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#400080;"&gt;catch&lt;/span&gt; (&lt;span style="color:#305fb6;"&gt;InvalidOperationException&lt;/span&gt; &lt;span style="color:#010001;"&gt;ieox&lt;/span&gt;)&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#010001;"&gt;ViewData&lt;/span&gt;[&lt;span style="font-weight:bold;color:#259241;"&gt;&amp;quot;error&amp;quot;&lt;/span&gt;] &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="font-weight:bold;color:#259241;"&gt;&amp;quot;Unknown Action: \&amp;quot;&amp;quot;&lt;/span&gt; &lt;span style="color:#2e53d1;"&gt;+&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&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 style="color:#010001;"&gt;Server&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;&lt;span style="color:#010001;"&gt;HtmlEncode&lt;/span&gt;(&lt;span style="color:#010001;"&gt;actionName&lt;/span&gt;) &lt;span style="color:#2e53d1;"&gt;+&lt;/span&gt; &lt;span style="font-weight:bold;color:#259241;"&gt;&amp;quot;\&amp;quot;&amp;quot;&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#010001;"&gt;ViewData&lt;/span&gt;[&lt;span style="font-weight:bold;color:#259241;"&gt;&amp;quot;exMessage&amp;quot;&lt;/span&gt;] &lt;span style="color:#2e53d1;"&gt;=&lt;/span&gt; &lt;span style="color:#010001;"&gt;ieox&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;&lt;span style="color:#010001;"&gt;Message&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#400080;"&gt;this&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;&lt;span style="color:#010001;"&gt;View&lt;/span&gt;(&lt;span style="font-weight:bold;color:#259241;"&gt;&amp;quot;Error&amp;quot;&lt;/span&gt;)&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;&lt;span style="color:#010001;"&gt;ExecuteResult&lt;/span&gt;(&lt;span style="color:#400080;"&gt;this&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;&lt;span style="color:#010001;"&gt;ControllerContext&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The only problem with this example is that it does not take into account attributes, like the &lt;strong&gt;ActionMethodSelectorAttribute&lt;/strong&gt;, that can decide based on runtime information whether an action can fulfill a request. So, it may not be that the action does not exist, but that it is not supposed to respond to the request based on the context of the request.&lt;/p&gt;
&lt;p&gt;For example, if I use the AcceptVerbsAttribute, an example of ActionMethodSelectorAttribute, to do something as simple as this on my HomeController:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="font-size:9pt;color:black;font-family:verdana;"&gt;
&lt;p style="margin:0px;"&gt;[&lt;span style="color:#305fb6;"&gt;AcceptVerbs&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;HttpVerbs&lt;/span&gt;&lt;span style="color:#2e53d1;"&gt;.&lt;/span&gt;&lt;span style="color:#010001;"&gt;Post&lt;/span&gt;)]&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#400080;"&gt;public&lt;/span&gt; &lt;span style="color:#305fb6;"&gt;ActionResult&lt;/span&gt; &lt;span style="color:#010001;"&gt;DisplayOnlyViaPost&lt;/span&gt;()&lt;/p&gt;
&lt;p style="margin:0px;"&gt;{&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#400080;"&gt;return&lt;/span&gt; &lt;span style="color:#010001;"&gt;View&lt;/span&gt;();&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The DisplayOnlyViaPost View will not be displayed via the DisplayOnlyViaPost Action when someone types the URL in a browser ( HTTP GET Request ) &amp;ndash; http://&amp;hellip;/Home/DisplayOnlyViaPost.&lt;/p&gt;
&lt;p&gt;Unfortunately, the HandleUnknownAction code above will kick in and notice that indeed the DisplayOnlyViaPost View does exist. Therefore it goes ahead and displays the view, undermining the use of our AcceptVerbsAttribute on the original action. Not good :)&lt;/p&gt;
&lt;p&gt;Just something I noticed that you may want to be careful of if you are using similar code in HandleUnknownAction.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=249568" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>ASP.NET MVC Extensibility at Tampa MVC Developer Group</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/07/01/asp-net-mvc-extensibility-at-tampa-mvc-developer-group.aspx" /><id>/blogs/david.hayden/archive/2009/07/01/asp-net-mvc-extensibility-at-tampa-mvc-developer-group.aspx</id><published>2009-07-01T21:09:00Z</published><updated>2009-07-01T21:09:00Z</updated><content type="html">&lt;p&gt;The &lt;a href="http://www.tampadev.org/" target="_blank"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; is starting to kick it up a notch with this month&amp;rsquo;s meeting being about &lt;a href="http://www.tampadev.org/Meetings/Details/AspNetMvcExtensibility" target="_blank"&gt;ASP.NET MVC Extensibility&lt;/a&gt;. We have concluded our introductory topics and are now focusing on more intermediate topics. This month&amp;rsquo;s meeting will hit more advanced topics, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Custom Controller Factories for Dependency Injection &lt;/li&gt;
&lt;li&gt;Using Custom View Engines &lt;/li&gt;
&lt;li&gt;Creating Custom ActionFilters for DataBinding, Validation, etc. &lt;/li&gt;
&lt;li&gt;Using Custom ControllerActionInvokers &lt;/li&gt;
&lt;li&gt;Developing Custom ActionResults for RSS Feeds, etc. &lt;/li&gt;
&lt;li&gt;Building HtmlHelpers for Productivity &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you are interested in building your own opinionated version of the ASP.NET MVC Framework and have it bend to your will, you don&amp;rsquo;t want to miss &lt;a href="http://www.tampadev.org/Meetings/Details/AspNetMvcExtensibility" target="_blank"&gt;this meeting&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition, we will also be going over last month&amp;rsquo;s homework assignment, which was to use the ASP.NET MVC AjaxHelpers to &amp;ldquo;ajaxify&amp;rdquo; an ASP.NET MVC Web Application. As a hint, you can find an answer in our last screencast, &lt;a href="http://www.tampadev.org/News/Details/MvcAjaxHelpersScreencast"&gt;ASP.NET MVC Ajax Helpers - Ajax.ActionLink and Ajax.BeginForm &amp;ndash; Screencast&lt;/a&gt; :)&lt;/p&gt;
&lt;p&gt;Those completing the homework assignment will be included in a random drawing of Steven Sanderson&amp;rsquo;s Awesome book, &lt;a href="http://davidhayden.com/blog/dave/archive/2009/05/11/ProASPNETMVCFrameworkBookReview.aspx" target="_blank"&gt;Pro ASP.NET MVC Framework&lt;/a&gt;. Absolutely love Steve&amp;rsquo;s book. Huge thanks to &lt;a href="http://www.apress.com/" target="_blank"&gt;Apress&lt;/a&gt; for sending us several copies to give away to our members.&lt;/p&gt;
&lt;p&gt;Starting in August we will be working on voluntary group projects to strengthen our team development skills using ASP.NET MVC. Again, huge thanks to two of our sponsors for making this happen: &lt;a href="http://serverintellect.com/" target="_blank"&gt;Server Intellect&lt;/a&gt; and &lt;a href="http://unfuddle.com/" target="_blank"&gt;Unfuddle&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;See you on Thursday, July 9 at the Microsoft Office in Tampa!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.davidhayden.com/" target="_blank"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=249524" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Tampa MVC Meeting: jQuery – Ajax Helpers - MvcContrib</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/06/09/tampa-mvc-meeting-jquery-ajax-helpers-mvccontrib.aspx" /><id>/blogs/david.hayden/archive/2009/06/09/tampa-mvc-meeting-jquery-ajax-helpers-mvccontrib.aspx</id><published>2009-06-09T16:40:00Z</published><updated>2009-06-09T16:40:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/david.hayden/TampaDevJun2009_5F00_18300B60.png"&gt;&lt;img border="0" align="right" width="153" src="http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/david.hayden/TampaDevJun2009_5F00_thumb_5F00_6A454958.png" alt="TampaDevJun2009" height="240" style="border-right:0px;border-top:0px;display:inline;margin-left:0px;border-left:0px;margin-right:0px;border-bottom:0px;" title="TampaDevJun2009" /&gt;&lt;/a&gt; The third meeting of the &lt;a target="_blank" href="http://www.tampadev.org/"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; is this Thursday, June 11, 2009 and entitled:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://www.tampadev.org/Meetings/Details/IntroductionjQueryASPNETMVC"&gt;Introduction to jQuery with ASP.NET MVC&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The first half of the meeting will look at the following topics to help you build UI&amp;rsquo;s for your ASP.NET MVC Web Applications:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ajax Helpers in the MVC Framework&lt;/li&gt;
&lt;li&gt;ASP.NET MVC Futures Assembly&lt;/li&gt;
&lt;li&gt;MvcContrib&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The second half of the meeting is a look at jQuery and various ways to integrate jQuery into your ASP.NET MVC Web Applications to provide a richer user experience. We will look at jQuery Selectors, jQuery UI Components, and jQuery AJAX.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can download a copy of this month&amp;rsquo;s &lt;a target="_blank" href="http://www.tampadev.org/newsletters/tampadevjun2009.pdf"&gt;newsletter&lt;/a&gt; for links to the various libraries, screencasts, and book reviews.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Huge thanks to our sponsors: &lt;a target="_blank" href="http://www.serverintellect.com/"&gt;Server Intellect&lt;/a&gt;, &lt;a target="_blank" href="http://unfuddle.com/"&gt;Unfuddle&lt;/a&gt;, &lt;a target="_blank" href="http://www.jetbrains.com/"&gt;JetBrains&lt;/a&gt;, &lt;a target="_blank" href="http://www.red-gate.com/"&gt;RedGate&lt;/a&gt;, &lt;a target="_blank" href="http://www.appliedi.net/"&gt;Applied Innovations&lt;/a&gt;, &lt;a target="_blank" href="http://www.kforce.com/"&gt;KForce&lt;/a&gt;, &lt;a target="_blank" href="http://www.apress.com/"&gt;Apress&lt;/a&gt;, &lt;a target="_blank" href="http://www.wrox.com/"&gt;WROX&lt;/a&gt;, and &lt;a target="_blank" href="http://www.packtpub.com/"&gt;Packt Publishing&lt;/a&gt; for making all this possible.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=248333" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>IASA Tampa Presentation: Advanced EntLib Unity and ASP.NET MVC</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/05/27/iasa-tampa-presentation-advanced-entlib-unity-and-asp-net-mvc.aspx" /><id>/blogs/david.hayden/archive/2009/05/27/iasa-tampa-presentation-advanced-entlib-unity-and-asp-net-mvc.aspx</id><published>2009-05-27T18:54:00Z</published><updated>2009-05-27T18:54:00Z</updated><content type="html">&lt;p&gt;For those of you in the Tampa, Florida area who are interested in EntLib, Unity, and/or ASP.NET MVC, I will be presenting at the IASA Tampa Meeting tomorrow (Thursday, May 28, 2009 ) - &lt;a target="_blank" href="http://davidhayden.com/blog/dave/archive/2009/05/03/EnterpriseLibraryUnityDeepDivePresentationIASATampaMay.aspx"&gt;Enterprise Library and Unity Deep-Dive&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Truth is I have an absolute love for the ASP.NET MVC Framework, so 90% of my examples will be using Enterprise Library and Unity within the context of ASP.NET MVC.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Advanced&amp;rdquo; is relative to the expertise of the individual, but I think I have cooked up 6 demos ( and will probably add more before tomorrow ) that show off a number of advanced / real-world features of EntLib, Unity, and MVC:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Custom Controller Factories and Dependency Injection using Unity with ASP.NET MVC&lt;/li&gt;
&lt;li&gt;Custom HttpHandler for Unity Dependency Injection in ASP.NET WebForms&lt;/li&gt;
&lt;li&gt;Several examples of Interface Interception using Unity via Custom HandlerAttributes and ICallHandlers&lt;/li&gt;
&lt;li&gt;Unity Configuration via External Configuration Sources&lt;/li&gt;
&lt;li&gt;Entity Validation via Entity Layer Supertypes and Custom ModelBinders with Interface Interception Validation used on Repositories&lt;/li&gt;
&lt;li&gt;Custom Logging ActionFilters around Controller ActionMethods with Unity doing Dependency Injection on Custom ActionFilters via Custom ControllerActionInvoker&lt;/li&gt;
&lt;li&gt;Several Examples of using Enterprise Library Unity Extensions &amp;ndash; EnterpriseLibaryCoreExtension, etc.&lt;/li&gt;
&lt;li&gt;And More&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Those of you in the &lt;a target="_blank" href="http://www.tampadev.org/"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; hungry for some advanced ASP.NET MVC Examples can certainly come out and see some examples we haven&amp;rsquo;t touched yet. If you can&amp;rsquo;t make it, however, I can put these examples together for a future ASP.NET MVC Meeting.&lt;/p&gt;
&lt;p&gt;You can &lt;a target="_blank" href="http://davidhayden.com/blog/dave/archive/2009/05/03/EnterpriseLibraryUnityDeepDivePresentationIASATampaMay.aspx"&gt;check out&lt;/a&gt; the &amp;ldquo;official&amp;rdquo; description of the meeting put together awhile ago :)&lt;/p&gt;
&lt;p&gt;If you have a particular request, hit me up on &lt;a target="_blank" href="http://www.twitter.com/david_hayden"&gt;twitter&lt;/a&gt; before the day&amp;rsquo;s end and I will see what I can do.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=238876" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>ASP.NET MVC Screencast on T4 Templates</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/05/27/asp-net-mvc-screencast-on-t4-templates.aspx" /><id>/blogs/david.hayden/archive/2009/05/27/asp-net-mvc-screencast-on-t4-templates.aspx</id><published>2009-05-27T13:22:00Z</published><updated>2009-05-27T13:22:00Z</updated><content type="html">&lt;h2&gt;ASP.NET MVC and T4 Templates&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/david.hayden/AspNetMvcT4Screencast_5F00_2819B712.png"&gt;&lt;img border="0" align="right" width="235" src="http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/david.hayden/AspNetMvcT4Screencast_5F00_thumb_5F00_730FB892.png" alt="AspNetMvcT4Screencast" height="240" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;margin-left:0px;margin-right:0px;border-right-width:0px;" title="AspNetMvcT4Screencast" /&gt;&lt;/a&gt; During the second meeting of the &lt;a target="_blank" href="http://www.tampadev.org/"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; I gave a quick 30 minute presentation on the power of T4 Templates in ASP.NET MVC Projects to help you generate views and controllers. In the screencast I demonstrate how I can quickly generate the same code in 5 minutes that we spent developing for 90 minutes at the first meeting. Depending on the complexity of the ASP.NET MVC Web Application your mileage may vary on the use of T4 Templates, but one cannot deny it is a useful tool when applicable.&lt;/p&gt;
&lt;p&gt;Check out the screencast:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tampadev.org/News/Details/AspNetMvcT4TemplatesCodeGenerationScreencast"&gt;ASP.NET MVC and T4 Templates Code Generation Screencast&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Introduction to jQuery with ASP.NET MVC&lt;/h2&gt;
&lt;p&gt;By the way, our next meeting is on Thursday, June 11, 2009 and is entitled: &lt;a href="http://www.tampadev.org/Meetings/Details/IntroductionjQueryASPNETMVC"&gt;Introduction to jQuery with ASP.NET MVC&lt;/a&gt;. We will be discussing the wonderful world of developing UI&amp;rsquo;s for ASP.NET MVC Web Applications and introduce you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ASP.NET MVC Futures &lt;/li&gt;
&lt;li&gt;MVC Contrib &lt;/li&gt;
&lt;li&gt;ASP.NET MVC and ASP.NET AJAX &lt;/li&gt;
&lt;li&gt;jQuery with ASP.NET MVC &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can register for the meeting &lt;a target="_blank" href="http://www.tampadev.org/Meetings/Details/IntroductionjQueryASPNETMVC"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=238618" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Tampa ASP.NET MVC Meeting Rocked!</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/05/16/tampa-asp-net-mvc-meeting-rocked.aspx" /><id>/blogs/david.hayden/archive/2009/05/16/tampa-asp-net-mvc-meeting-rocked.aspx</id><published>2009-05-17T01:50:00Z</published><updated>2009-05-17T01:50:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/david.hayden/TampaMVC_5F00_7E014E47.png"&gt;&lt;img title="TampaMVC" style="border-top-width:0px;display:inline;border-left-width:0px;border-bottom-width:0px;margin-left:0px;margin-right:0px;border-right-width:0px;" alt="TampaMVC" src="http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/david.hayden/TampaMVC_5F00_thumb_5F00_08C1364E.png" width="240" align="right" border="0" height="219" /&gt;&lt;/a&gt; The &lt;a href="http://www.tampadev.org/" target="_blank"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; had our second meeting this past Thursday, which was a code review of the 2009 Orlando Code Camp that was built using the ASP.NET MVC Framework. Just like the first meeting where we had &lt;b&gt;74 attendees&lt;/b&gt;, the second meeting had &lt;b&gt;75 attendees&lt;/b&gt;!! I am really excited about the popularity of the Tampa MVC Group and how the developers appreciate a group that is dedicated to teaching real-world, employable skills on web development and ASP.NET MVC!&lt;/p&gt;
&lt;p&gt;The purpose of the second meeting was two-fold:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Show ASP.NET MVC production code based on code and techniques presented during the first meeting. &lt;/li&gt;
&lt;li&gt;Help developers understand what it was like to move from ASP.NET Webforms to ASP.NET MVC from a developer that made the transition &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fabio did a wonderful job capturing everyone&amp;rsquo;s attention and presenting the material in a fun and pragmatic manner. All the feedback has been wonderfully positive.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;T4 Template Code Generation&lt;/h2&gt;
&lt;p&gt;Prior to the main presentation, I gave a 30 minute presentation on the &lt;a href="http://www.pnpguidance.net/Tag/T4.aspx" target="_blank"&gt;T4 Template&lt;/a&gt; Code Generation features leveraged by ASP.NET MVC. I showed per project T4 Templates and how to generate all the code presented in the first meeting in about 3 minutes without writing a single line of code. Albeit such a task would only be applicable in the simplest of forms-over-data ASP.NET MVC web applications, the demos really brought home the functionality and the ability to leverage T4 Templates per project for code generation and productivity. I will create a screencast on this small presentation later this week.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Books and More Books&lt;/h2&gt;
&lt;p&gt;A huge thanks to &lt;a href="http://www.apress.com/" target="_blank"&gt;Apress&lt;/a&gt; and &lt;a href="http://www.wrox.com/" target="_blank"&gt;Wrox&lt;/a&gt; for providing us copies of &lt;b&gt;Pro ASP.NET MVC Framework&lt;/b&gt; and &lt;b&gt;Professional ASP.NET MVC 1.0&lt;/b&gt; as giveaways to the attendees. Both books are great and will help the developers come up to speed on the functionality. I have read both books and posted the following reviews:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/05/11/ProASPNETMVCFrameworkBookReview.aspx" target="_blank"&gt;Pro ASP.NET MVC Framework Book Review&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/05/02/ProfessionalASPNETMVC10BookReviewConeryHanselmanHaackGuthrie.aspx" target="_blank"&gt;Professional ASP.NET MVC 1.0 Book Review&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the person who really wants a &amp;ldquo;Pro&amp;rdquo; book I highly recommend Steven Sanderson&amp;rsquo;s Pro ASP.NET MVC Framework. For the person who wants more of a beginner book, you will appreciate Professional ASP.NET MVC 1.0.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Homework Assignments&lt;/h2&gt;
&lt;p&gt;Different from other developer groups, the Tampa ASP.NET MVC Developer Group has monthly homework assignments that reinforce and challenge attendees on their grasp of what was presented in previous meetings. I will be sending the next homework assignment out this week, and as usual, within about a week before the next meeting post the solution source code as well as a screencast showing how I came up with the solution.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Thanks to everyone for their continued attendance. Next month&amp;rsquo;s meeting will be an &lt;b&gt;&lt;a href="http://www.tampadev.org/Meetings/Details/IntroductionjQueryASPNETMVC" target="_blank"&gt;Introduction to jQuery with ASP.NET MVC&lt;/a&gt;&lt;/b&gt;. Prior to that main presentation, I will be presenting the UI-related functionality in &lt;b&gt;MVC Contrib&lt;/b&gt; and &lt;b&gt;ASP.NET MVC Futures&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.davidhayden.com/" target="_blank"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=227559" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Tampa ASP.NET MVC Meeting on Thursday</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/05/13/tampa-asp-net-mvc-meeting-on-thursday.aspx" /><id>/blogs/david.hayden/archive/2009/05/13/tampa-asp-net-mvc-meeting-on-thursday.aspx</id><published>2009-05-13T17:05:00Z</published><updated>2009-05-13T17:05:00Z</updated><content type="html">&lt;p&gt;&lt;a href="http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/david.hayden/TampaDevMay2009_5F00_36E4A87E.png"&gt;&lt;img title="TampaDevMay2009" style="border-right:0px;border-top:0px;display:inline;margin-left:0px;border-left:0px;margin-right:0px;border-bottom:0px;" alt="TampaDevMay2009" src="http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/david.hayden/TampaDevMay2009_5F00_thumb_5F00_08F9E677.png" width="169" align="right" border="0" height="240" /&gt;&lt;/a&gt; The Tampa ASP.NET MVC Developer Group is ramping up for our second meeting tomorrow, entitled &lt;a href="http://www.tampadev.org/Meetings/Details/CodeReviewCreatingDatabaseDrivenMVCWebApplications"&gt;Code Review: 2009 Orlando .NET Code Camp MVC Website&lt;/a&gt;. This meeting will be a huge benefit for those of you just getting started on the ASP.NET MVC Framework and looking for answers to common problems developing websites. We will be discussing real-world problems, real-world code, and the pros, cons, and alternatives for handling common issues!&lt;/p&gt;
&lt;p&gt;Prior to the main presentation we will also have a quick 30 minute session on how to leverage &lt;b&gt;T4 Template Code Generation in ASP.NET MVC Websites&lt;/b&gt;. I put together a couple of demos that show you how to leverage per project T4 Templates to generate the necessary controllers and views for simple forms-over-data web applications. The productivity benefits of utilizing the T4 Templates are astounding and show how to do something in just a few minutes that would normally take an hour or more.&lt;/p&gt;
&lt;p&gt;You can download our &lt;a href="http://www.tampadev.org/newsletters/TampaDevMay2009.pdf" target="_blank"&gt;May 2009 Newsletter&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;If you haven&amp;rsquo;t already, make sure you &lt;a href="http://www.tampadev.org/Meetings/Details/CodeReviewCreatingDatabaseDrivenMVCWebApplications" target="_blank"&gt;register to attend&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;ASP.NET MVC Books&lt;/h2&gt;
&lt;p&gt;I want to give a big thank you to Apress, Packt Publishing, and WROX for donating copies of their latest ASP.NET MVC Books to the group as giveaways.&lt;/p&gt;
&lt;p&gt;I have read all 3 books and enjoyed each of them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.apress.com/book/view/1430210079"&gt;Pro ASP.NET MVC Framework&lt;/a&gt; by Steve Sanderson&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/productCd-0470384611.html"&gt;Professional ASP.NET MVC 1.0&lt;/a&gt; by Rob Conery, Scott Hanselman, Phil Haack, Scott Guthie&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.packtpub.com/asp-net-model-view-controller-1-0-quickly/book"&gt;ASP.NET MVC 1.0 Quickly&lt;/a&gt; by Maarten Balliauw&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Although I know donating books is fairly common, I can&amp;rsquo;t thank you enough as to how much I appreciate you sponsoring the group!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;New Sponsors&lt;/h2&gt;
&lt;p&gt;I may have mentioned this before, but I want to thank two new sponsors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.kforce.com/" target="_blank"&gt;Kforce&lt;/a&gt; &amp;ndash; They are a huge help to various developer communities in the Tampa, Florida area. They help sponsor meetings and allow groups to use their facilities for events! Can&amp;rsquo;t say enough good things about them! Thank you for your sponsorship.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.serverintellect.com/" target="_blank"&gt;Server Intellect&lt;/a&gt; &amp;ndash; Helping us in a huge way with dedicated hosting. I can personally tell you from experience that their support is top-notch. I have pummeled the support team with question after question on Windows 2008 and IIS 7.0 administration and they have taken it like true professionals.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;See everyone on Thursday!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.davidhayden.com/" target="_blank"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=224139" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Tampa ASP.NET MVC Meeting: Code Generation and Code Review</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/05/03/tampa-asp-net-mvc-meeting-code-generation-and-code-review.aspx" /><id>/blogs/david.hayden/archive/2009/05/03/tampa-asp-net-mvc-meeting-code-generation-and-code-review.aspx</id><published>2009-05-03T23:00:00Z</published><updated>2009-05-03T23:00:00Z</updated><content type="html">&lt;p&gt;If you haven&amp;#39;t already, make sure you register for the next &lt;a href="http://www.tampadev.org/"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; Meeting on Thursday, May 14, 2009 at the Microsoft Office in Tampa Florida:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tampadev.org/Meetings/Details/CodeReviewCreatingDatabaseDrivenMVCWebApplications"&gt;Code Review: 2009 Orlando .NET Code Camp MVC Website&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Fabio Honigmann from the Orlando .NET Developer Group will be taking us through a code review of the Orlando Code Camp website which he put together while learning the ASP.NET MVC Framework. He will be sharing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;His experience moving from ASP.NET Webforms to ASP.NET MVC&lt;/li&gt;
&lt;li&gt;Real-world code examples applying ASP.NET MVC in production web applications&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Prior to Fabio&amp;#39;s presentation, I will also be doing a quick 20-30 minute introduction to T4 Template Code Generation in ASP.NET MVC Web Projects to significantly boost your productivity when creating ASP.NET MVC Web Applications.&lt;/p&gt;
&lt;p&gt;Make sure you &lt;a href="http://www.tampadev.org/Meetings/Details/CodeReviewCreatingDatabaseDrivenMVCWebApplications"&gt;register for the event&lt;/a&gt; so we can get an accurate number of people attending.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I want to say a big thank you to three new sponsors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.kforce.com/"&gt;KForce&lt;/a&gt; for sponsoring pizza and beverages for this month&amp;#39;s meeting and being a big sponsor of the .NET Developer community in Florida in general.&lt;a href="http://www.serverintellect.com/"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.serverintellect.com/"&gt;Server Intellect&amp;nbsp;&lt;/a&gt;for providing us &lt;a href="http://www.serverintellect.com/dedicated/"&gt;Dedicated Windows 2008 and IIS 7 Hosting&lt;/a&gt; for our group projects as we teach team development using the ASP.NET MVC Framework.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.wrox.com/WileyCDA/"&gt;WROX&lt;/a&gt; for providing us several copies of &lt;a href="http://davidhayden.com/blog/dave/archive/2009/05/02/ProfessionalASPNETMVC10BookReviewConeryHanselmanHaackGuthrie.aspx"&gt;Professional ASP.NET MVC 1.0&lt;/a&gt; that will be awarded to a few developers completing this past month&amp;#39;s homework assignment.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Related Posts&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/04/29/AntiForgeryTokenInMVCFramework.aspx"&gt;AntiForgeryToken in the ASP.NET MVC Framework - Html.AntiForgeryToken and ValidateAntiForgeryToken Attribute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/04/23/ASPNETMVCScreencastDatabaseDrivenWebsitesT4Templates.aspx"&gt;ASP.NET MVC Screencast - Database-Driven Websites and T4 Templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/04/15/OuputCachingASPNETMVCFrameworkOutputCacheAttributeCacheProfiles.aspx"&gt;Ouput Caching in ASP.NET MVC Framework - OutputCacheAttribute and Cache Profiles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/04/10/InjectingDependenciesIAuthorizationFilterCustomControllerActionInvoker.aspx"&gt;Injecting Dependencies into an IAuthorizationFilter in ASP.NET MVC Framework - Custom ControllerActionInvoker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/04/09/CustomAuthorizationASPNETMVCFrameworkAuthorizeAttribute.aspx"&gt;Custom Authorization in the ASP.NET MVC Framework and Authorize Attribute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/04/08/ValidateInputAttributeASPNETMVCPotentiallyDangerousRequestFormValues.aspx"&gt;ValidateInput Attribute in ASP.NET MVC - Potentially Dangerous Request.Form Values&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/04/07/ASPNETMVCControlsASPNETMVCFuturesRepeaterControlExample.aspx"&gt;ASP.NET MVC Controls in ASP.NET MVC Futures - Repeater Control Example&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://davidhayden.com/blog/dave/archive/2009/04/05/AcceptAjaxAttributeASPNETMVCFuturesExampleActionMethodSelectorAttribute.aspx"&gt;AcceptAjaxAttribute in ASP.NET MVC Futures - Example of ActionMethodSelectorAttribute&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=212910" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Enterprise Library Tips &amp; Techniques Presentation on Tuesday</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/04/19/enterprise-library-tips-amp-techniques-presentation-on-tuesday.aspx" /><id>/blogs/david.hayden/archive/2009/04/19/enterprise-library-tips-amp-techniques-presentation-on-tuesday.aspx</id><published>2009-04-19T12:00:00Z</published><updated>2009-04-19T12:00:00Z</updated><content type="html">&lt;p&gt;I will be in Lakeland, Florida on Tuesday, April&amp;nbsp;21&amp;nbsp;presenting &lt;a href="http://davidhayden.com/blog/dave/archive/2009/03/26/PresentingEnterpriseLibraryTipsTechniquesLakelandFloridaApril21.aspx"&gt;Enterprise Library Tips &amp;amp; Techniques&lt;/a&gt;. Several developers who plan on attending requested that I keep it really basic and show step-by-step examples, so that is what we will do :)&lt;/p&gt;
&lt;p&gt;We will focus on using the facade classes, rather than Unity, to wire up the blocks for most of the presentation. I plan to use simple console applications for the step-by-step examples and then show pre-built examples in ASP.NET in a variety of ways.&lt;/p&gt;
&lt;p&gt;If you are interested in more deep-dive examples, swing on over to the IASA Tampa Group on May 28th where I plan to do more advanced examples, probably using a lot of Unity in various ASP.NET Model-View-Presenter and Model-View-Controller Scenarios.&lt;/p&gt;
&lt;p&gt;If you have any particular examples you would like to see in Lakeland or Tampa, you can shoot me an email message or catch me on &lt;a href="http://www.twitter.com/david_hayden"&gt;twitter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=198049" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Tampa ASP.NET MVC Developer Group Meeting Recap</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/04/18/tampa-asp-net-mvc-developer-group-meeting-recap.aspx" /><id>/blogs/david.hayden/archive/2009/04/18/tampa-asp-net-mvc-developer-group-meeting-recap.aspx</id><published>2009-04-19T03:49:00Z</published><updated>2009-04-19T03:49:00Z</updated><content type="html">&lt;p&gt;&lt;img border="0" src="http://s3.amazonaws.com/CodeBetter/CommunityServer.Blogs.Components.WeblogFiles/david/hayden/Image.png?AWSAccessKeyId=0KMA35HT86EVXB99Z302&amp;amp;Expires=1240151714&amp;amp;Signature=vf14wW03bsgkKhO9bu%2fZ4fxQmXU%3d" style="max-width:550px;border:0;float:right;" alt="" /&gt;We had the first meeting of the &lt;a href="http://www.tampadev.org/"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; on Thursday, &lt;a href="http://www.tampadev.org/Meetings/Details/IntroductionASPNETMVCFramework"&gt;Introduction to the ASP.NET MVC Framework&lt;/a&gt;, which pulled in an amazing 74 attendees interested in developing their skills in the ASP.NET MVC Framework!&lt;/p&gt;
&lt;p&gt;Prior to&amp;nbsp;the &amp;nbsp;meeting we&amp;nbsp;&lt;a href="http://www.tampadev.org/News/Details/AprilNewsletterIntroductionASPNETMVCFramework"&gt;published a newsletter&lt;/a&gt; that&amp;nbsp;included various resources based upon information that would be presented during the meeting.&amp;nbsp;The first meeting was a classroom-style introduction where attendees who brought laptops could follow along during the presentation that built a simple CRUD ASP.NET MVC Sample Application that managed contacts in a Contacts Database from scratch. After the presentation, attendees were given a &lt;strong&gt;downloadable homework assignment&lt;/strong&gt; to complete certain aspects of a sample ASP.NET MVC application based on content in the presentation.&amp;nbsp;Members who complete the homework are eligible to win a prize.&lt;/p&gt;
&lt;p&gt;After the presentation, I have now created both a screencast and sample code based upon the presentation so members can further digest the information at their convenience:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tampadev.org/News/Details/IntroductionASPNETMVCScreencastSourceCode"&gt;Introduction to ASP.NET MVC Screencast and Sample Code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For those in the Tampa, Florida area who are interested in&amp;nbsp;learning the ASP.NET MVC Framework, come check us out! Our second meeting is on Thursday, May 14, 2009 from 6:30 - 8:30 pm at the Microsoft Office in Tampa.&lt;/p&gt;
&lt;p&gt;Make sure you also join our &lt;a href="http://tampamvc.groups.live.com/"&gt;Windows Live Group&lt;/a&gt; where you can actively discuss the presentation and homework!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=197731" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Introduction to the ASP.NET MVC Framework</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/04/12/introduction-to-the-asp-net-mvc-framework.aspx" /><id>/blogs/david.hayden/archive/2009/04/12/introduction-to-the-asp-net-mvc-framework.aspx</id><published>2009-04-12T22:41:00Z</published><updated>2009-04-12T22:41:00Z</updated><content type="html">&lt;p&gt;The &lt;a href="http://www.tampadev.org/"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; has their first meeting this Thursday, April 16, 2009 at 6:30pm at the Microsoft Office in Tampa - &lt;a href="http://www.tampadev.org/Meetings/Details/IntroductionASPNETMVCFramework"&gt;Introduction to the ASP.NET MVC Framework&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is a gentle introduction to the MVC Framework showing you step-by-step how to create your first ASP.NET MVC Web Project. Bring you laptop so you can follow along during the presentation and get some hands-on experience using ASP.NET MVC.&lt;/p&gt;
&lt;p&gt;Based on popular demand, 70% of those surveyed wanted some optional, fun homework&amp;nbsp;after each meeting. Therefore, at the end of the first meeting ( and every meeting ) a homework assignment will be handed out to test your knowledge of the content presented during the meeting. I am currently&amp;nbsp;looking into prizes for those that actually complete it :)&lt;/p&gt;
&lt;p&gt;If you haven&amp;#39;t already, subscribe to our &lt;a href="http://www.tampadev.org/Rss"&gt;RSS Feed&lt;/a&gt; or join the &lt;a href="http://tampamvc.groups.live.com/"&gt;Windows Live Group&lt;/a&gt;. You can also sign-up for the &lt;a href="http://www.tampadev.org/"&gt;newsletter&lt;/a&gt; that includes information not only on the group but resources on the ASP.NET MVC Framework.&lt;/p&gt;
&lt;p&gt;See you on Thursday!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=193184" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Orlando Code Camp 2009 - ASP.NET MVC Presentation Slides and Code</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/03/29/orlando-code-camp-2009-asp-net-mvc-presentation-slides-and-code.aspx" /><id>/blogs/david.hayden/archive/2009/03/29/orlando-code-camp-2009-asp-net-mvc-presentation-slides-and-code.aspx</id><published>2009-03-29T23:20:00Z</published><updated>2009-03-29T23:20:00Z</updated><content type="html">&lt;p&gt;Once again the Orlando Code Camp was a huge success! I really enjoyed myself and especially enjoyed sitting in the ASP.NET MVC Track listening to other developers speaking about MVC.&lt;/p&gt;
&lt;p&gt;I presented on &lt;a href="http://www.tampadev.org/News/Details/ASPNETMVCExtensibilityPowerpointSlidesOrlandoCodeCamp2009"&gt;ASP.NET MVC Extensibility - Opinionated Frameworks&lt;/a&gt; that looked at various ways you can customize your MVC experience to make it more productive and worthwhile. I have uploaded the &lt;a href="http://www.tampadev.org/News/Details/ASPNETMVCExtensibilityPowerpointSlidesOrlandoCodeCamp2009"&gt;slides as well as sample code&lt;/a&gt;. Thanks to everyone who attended my session and for all your kind words.&lt;/p&gt;
&lt;p&gt;As an FYI, the first meeting of the &lt;a href="http://www.tampadev.org/"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; is on Thursday, April 16, 2009 and will be an &lt;a href="http://www.tampadev.org/Meetings/Details/IntroductionASPNETMVCFramework"&gt;Introduction to the ASP.NET MVC Framework.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Later that month I will&amp;nbsp;be presenting in Lakeland, Florida&amp;nbsp;on Tuesday, April 21, 2009 - &lt;a href="http://davidhayden.com/blog/dave/archive/2009/03/26/PresentingEnterpriseLibraryTipsTechniquesLakelandFloridaApril21.aspx"&gt;Enterprise Library Tips &amp;amp; Techniques&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoyed seeing everyone in Orlando. Look forward to doing it again next year!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=189842" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Excited About Unfuddle Subversion / Git Hosting and their Mac Widget ;)</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/03/22/excited-about-unfuddle-subversion-git-hosting-and-their-mac-widget.aspx" /><id>/blogs/david.hayden/archive/2009/03/22/excited-about-unfuddle-subversion-git-hosting-and-their-mac-widget.aspx</id><published>2009-03-23T01:12:00Z</published><updated>2009-03-23T01:12:00Z</updated><content type="html">&lt;p&gt;I have never used an online subversion or git hosting service for my personal source control needs other than a few open source projects. Recently, however, Unfuddle was kind enough to sponsor the &lt;a class="" href="http://www.tampadev.org/"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt; with complementary &lt;a class="" href="http://www.unfuddle.com/"&gt;subversion and git hosting&lt;/a&gt; so that we can host projects as a means for learning and teaching team-based ASP.NET MVC Web&amp;nbsp;Development.&lt;/p&gt;
&lt;p&gt;Over the past&amp;nbsp;few days&amp;nbsp;I have been&amp;nbsp;using Unfuddle to host the&amp;nbsp;source control&amp;nbsp;for our group website and the experience has been great. The performance and availability have been awesome. Of course, it has only been a few days, but this is very promising!&lt;/p&gt;
&lt;p&gt;Today for kicks I installed their Mac Widget, which allows me yet another way to stay up on activity ( as well as do other things ) as if RSS, Email, and a Callback Url was not enough ;) Being a Mac guy and&amp;nbsp;the fact that I love using&amp;nbsp;Widgets to handle a lot of my day-to-day needs, this is just icing on the cake:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&amp;nbsp;&lt;img style="WIDTH:400px;HEIGHT:264px;" height="264" src="http://codebetter.com/photos/david.hayden/images/189605/original.aspx" width="400" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I hope&amp;nbsp;my experience is good so I can dump&amp;nbsp;subversion from my server in the office and just use Unfuddle for my own projects. This would give me a chance to learn git, too.&lt;/p&gt;
&lt;p&gt;If you are interested in trying Unfuddle for yourself,&amp;nbsp;I would start with the&amp;nbsp;&lt;a class="" href="http://unfuddle.com/accounts/plans"&gt;free account option&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Very cool stuff!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=189607" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>ASP.NET MVC 1.0 Released</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/03/18/asp-net-mvc-1-0-released.aspx" /><id>/blogs/david.hayden/archive/2009/03/18/asp-net-mvc-1-0-released.aspx</id><published>2009-03-18T13:49:00Z</published><updated>2009-03-18T13:49:00Z</updated><content type="html">&lt;p&gt;We knew it was going to happen during MIX. You can now &lt;a class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&amp;amp;displaylang=en"&gt;download&lt;/a&gt; Microsoft ASP.NET MVC 1.0.&lt;/p&gt;
&lt;p&gt;I put together a&amp;nbsp;&lt;a class="" href="http://www.tampadev.org/News/Details/ASPNETMVCSampleApplicationsOpenSourceExamplesTutorials"&gt;list of&amp;nbsp;Sample ASP.NET MVC Applications&lt;/a&gt; for the &lt;a class="" href="http://www.tampadev.org/"&gt;Tampa ASP.NET MVC Developer Group&lt;/a&gt;&amp;nbsp;if anyone is interested.&lt;/p&gt;
&lt;p&gt;You can download &lt;a class="" href="http://www.jetbrains.com/resharper/beta.html"&gt;ReSharper 4.5 beta&lt;/a&gt;, too, in case anyone missed it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=189469" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry><entry><title>Tampa MVC Web Developer Group Website and Meetings</title><link rel="alternate" type="text/html" href="/blogs/david.hayden/archive/2009/03/06/tampa-mvc-web-developer-group-website-and-meetings.aspx" /><id>/blogs/david.hayden/archive/2009/03/06/tampa-mvc-web-developer-group-website-and-meetings.aspx</id><published>2009-03-06T20:31:00Z</published><updated>2009-03-06T20:31:00Z</updated><content type="html">&lt;p&gt;&lt;a class="" href="http://www.tampadev.org/"&gt;&lt;img title="Tampa Developer Group" style="WIDTH:248px;HEIGHT:230px;" height="230" alt="Tampa Developer Group" src="http://codebetter.com/photos/david.hayden/images/189022/original.aspx" width="248" align="right" border="0" /&gt;&lt;/a&gt;The Tampa ASP.NET MVC Web Developer Group has an official website at&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.tampadev.org/"&gt;http://www.tampadev.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The goal of the group is to learn web development using the new ASP.NET MVC Framework together in a comfortable and friendly setting where we can learn from each other. No knowledge is required and expected, so if you are new to the MVC Framework or new to .NET Web Development in general, this is the place to be!&lt;/p&gt;
&lt;p&gt;The very first meeting is an introduction to the MVC Framework, showing how to get started with the framework and a number of its features. Subsequent meetings will build on that knowledge and get you more and more familiar with MVC Web development. The first 3 meetings are scheduled as follows at the Microsoft Office in Tampa from 6:30 - 8:30 pm.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Thursday, April 16 - &lt;a href="http://www.tampadev.org/Meetings/Details/IntroductionASPNETMVCFramework"&gt;Introduction to the ASP.NET MVC Framework&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Thursday, May 14 - &lt;a href="http://www.tampadev.org/Meetings/Details/CodeReviewCreatingDatabaseDrivenMVCWebApplications"&gt;Code Review - Creating Database-Driven MVC Web Applications&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Thursday, June 11 - &lt;a href="http://www.tampadev.org/Meetings/Details/ASPNETMVCQuickHitsJune2009"&gt;ASP.NET MVC Quick Hits - Tips and Techniques&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;These meetings are not set in stone. The key is to move at the speed of the group, leaving no man ( or woman ) behind. The meetings&amp;nbsp;are planned to&amp;nbsp;be a mix of presentations, code reviews, and lightning talks. I talked a little bit about this &lt;a class="" href="http://codebetter.com/blogs/david.hayden/archive/2009/02/23/tampa-asp-net-mvc-special-interest-group-forming.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you have any questions, please feel free to &lt;a class="" href="http://www.tampadev.org/About"&gt;contact the group&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="http://www.davidhayden.com/"&gt;David Hayden&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://codebetter.com/aggbug.aspx?PostID=189023" width="1" height="1"&gt;</content><author><name>dhayden</name><uri>http://codebetter.com/members/dhayden/default.aspx</uri></author></entry></feed>