ASP.net MVC RC1 – Removing Code Behind files

With ASP.net MVC, one thing I always wondered is why we still had to have the code behind files. Looking at the FubuMVC samples, everything looks much cleaner without the additional files – with RC1, code-behind files are no longer required!

However, if your upgrading from beta, you will need to change your ASPX pages. In this post, I will cover the steps I went through to remove these files.

During beta, my solution looked looked like this:

image

In my code behind, I have a mixture of strongly typed ViewPage objects and the standard ViewPage. As a result, in my ASPX page, I had a CodeBehind file and a Inherits tag.

image

With RC1, I can remove the CodeBehind tag and replace the Inherits to System.Web.MVC.ViewPage directly.

image

I can now delete Index.aspx.cs and Index.aspx.designer.cs leaving me with just the Index.aspx file.

If my ViewPage was strongly typed with a model, the the Inherits tag would include this, just like with the code behind model:

image

For ASP.net MVC User Controls, instead of ViewPage you use ViewUserControl:

image

Similarly with Master Pages:

image

After changing all my views, controls and master pages, my solution looks like this:

image

This makes me happy.

UPDATE: Parser Error Message: Could not load type ‘System.Web.Mvc.ViewPage‘.

Ok – I made a little mistake. When I hit my ViewPage, I received a Parser error message. If I had paid more attention to the release notes, I would have noticed I needed to copy an additional block of xml into my web.config.

     pageParserFilterType=”System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35″
     pageBaseType=”System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35″
     userControlBaseType=”System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35″>
      
           
      

Technorati Tags:

7 thoughts on “ASP.net MVC RC1 – Removing Code Behind files”

  1. Thanks a zillion for figuring out that parser error. It was killing me tonight while I was trying to convert my blog platform to MVC 1.0 (www.blogpub.com). I seem to always skip reading instructions so who knows how long it would of took me to figure that out. done!

Leave a Reply

Your email address will not be published. Required fields are marked *