Rebuilding imar.spaanjaars.com in ASP.NET MVC 2 - Part 5 - RTW
The biggest change you'll notice is the clean URL structure as discussed here in part 3 of this series. But besides cleaner URLs, a lot has changed under the hood, making it easier for me to manage the site, its content and users, view logs and make change to the UI (which I plan to do somehwere in the futute). Compared to the older ASP.NET 3.5 Web Forms version of the site, I have been able to decrease the LOC (Lines of Code) by 50 percent. Now, LOCs don't say a whole lot about maintenance complexity, but still, it's an interesting achievement.
Instead of disceting the whole site and showing you how I built each feature, I'll be posting a number of links to books, articles, blog posts and forums that have helped me building this web site. 'll be updating this post when I find other interesting stuff, or recall what sources I used to fix certain problems I ran into while building my ASP.NET MVC 2 web site.
As discussed here, you probably want to get yourself a copy of the book Pro ASP.NET MVC Framework by Steven Sanderson. There's an ASP.NET MVC 2 version coming out by the end of this month. Additionally, you may want to check out Professional ASP.NET MVC 1.0 or the upcoming 2.0 version of that book, both published by Wrox.
Another great place to start is the MVC section of the official ASP.NET web site. In particular, the following areas are very useful:
- ASP.NET MVC main page
- ASP.NET MVC Videos
- How to Best Learn ASP.NET MVC (video)
- The Web Platform Installer (to get everything you need to get started with ASP.NET MVC)
Blogs you shouldn't miss
- Phil Haack from the ASP.NET MVC Team
- Scott Hanselman
- Mike Brind (also an ASP.NET MVP and working on articles using ASP.NET MVC together with my N-Layer design articles)
Dealing with Exceptions and Request Validation
- ASP.Net MVC Custom Error Pages
- Strategies for resource-based 404 errors in ASP.NET MVC
- Why is ValidateInput(False) not working?
- Global Error Handling in ASP.NET MVC
- Wiring ASP.NET MVC Error Handling with Castle Windsor
- Validation Plugin
- jQuery plugin: Validation
- Walkthrough: full example of using MvcContrib grid with jQuery datatable
- A Degradable jQuery AJAX Email Form for ASP.NET MVC
- Unit Testing with Email
- TDD: How to supersede a single system library call
- Unit Testing Role Based Security w/ ASP.Net MVC
Generating Slugs (the SEO friendly versions of categories and titles of posts)
- Function to Generate a Slug (URL-friendly String) [Helpers] [Updated]
- ASP.NET MVC and Clean SEO Friendly URLs
Data Binding and Data Access
- Binding to a collection
- ASP.NET MVC and JQuery Cascading Dropdown list
- JSON Problem - JsonRequestBehavior to AllowGet
- ASP.NET MVC is not all about Linq to SQL
Where to Next?
Wonder where to go next? You can post a comment on this article.
Links in this Document
Talk Back! Comment on Imar.Spaanjaars.Com
I am interested in what you have to say about this article. Feel free to post any comments, remarks or questions you may have about this article. The Talk Back feature is not meant for technical questions that are not directly related to this article. So, a post like "Hey, can you tell me how I can upload files to a MySQL database in PHP?" is likely to be removed. Also spam and unrealistic job offers will be deleted immediately.
When you post a comment, you have to provide your name and the comment. Your e-mail address is optional and you only need to provide it if you want me to contact you. It will not be displayed along with your comment. I got sick and tired of the comment spam I was receiving, so I have protected this page with a simple calculation exercise. This means that if you want to leave a comment, you'll need to complete the calculation before you hit the Post Comment button.
If you want to object to a comment made by another visitor, be sure to contact me and I'll look into it ASAP. Don't forget to mention the page link, or the Doc ID of the document.