Jan 10

I’ve been making use of the JsonValueProviderFactory a lot lately. The JsonValueProviderFactory was released as part of MVC 3 and is a really easy way to introduce Json into your web application. In fact all MVC 3 websites support posting Json off the bat with no code changes. Phil Haack wrote an excellent blog post introducing the JsonValueProviderFactory.

One limitation I’ve found with the current JsonValueProviderFactory is when you have a property in your model that is a dynamic type. Unfortunately the JsonValueProviderFactory is unable to bind deserialized Json to a dynamic property. Example below:

Continue reading »

Tagged with:
Aug 30

I’ve been using Git for almost a year now (Thanks to @robcthegeek for introducing Git to @JustGiving). Before using Git I preferred SVN I’ve also suffered The Fail Server (TFS). The zero friction workflow and performance achieved with Git made me realise the friction of centralized version control systems. This post is a step by step guide for anyone using Windows who wants to get up and running on Git.

Continue reading »

Tagged with:
Apr 30

You remember my Opteron Workstation Gaming Rig Hybrid aka Scylla right? It’s been almost 2 years since I built my rig and I think it’s time to look at a upgrade. What to upgrade though, the 9800GTX video card still runs all games very well, the processor and RAM is rarely fully utilised, however there is definitely a bottleneck after a little bit of digging around like most modern computers the hard drive is a clear bottleneck.

Solid State Drive (SDD)

One of the major trends in the last couple of years is the use of Solid State Drives (SSD), from Wikipedia:

“A solid-state drive (SSD) is a data storage device that uses solid-state memory to store persistent data with the intention of providing access in the same manner of a traditional block i/o hard disk drive. SSDs are distinguished from traditional hard disk drives (HDDs), which are electromechanical devices containing spinning disks and movable read/write heads.”

Continue reading »

Tagged with:
Nov 29

To use this extension download and reference MVC 2 Futures .

public static string ActionFor<TController>(this UrlHelper helper, Expression<Action<TController>> action) where TController : Controller
{
    return Microsoft.Web.Mvc.LinkBuilder.BuildUrlFromExpression(helper.RequestContext, helper.RouteCollection, action);
}

To use this extension in a view use:

Url.ActionFor<MyControllerType>(controller=>controller.MyAction())

Continue reading »

Tagged with:
Jul 29

In April I did a comprehensive blog post about the Html.EditorFor() and Html.DisplayFor() helpers in MVC 2, and there use with templates. It turns out I missed quite a cool feature added in the MVC 2 RTM release in March.

Taken from the release notes:

ASP.NET MVC 2 now includes new overloads of the EditorFor and DisplayFor methods. These overloads contain a parameter that accepts an anonymous object that can be used to provide extra view data. The view data provided in this parameter is merged with any existing view data that is passed to the template.

This new overload is very handy for providing additional information to your template without any nasty hacks. In this post we are going to continue our Employee example from my MVC Templates and MVC Model Binders posts, we will change the code to make use of the new overload.

Continue reading »

Tagged with:
preload preload preload