ASPdotNET Posts
This blog now uses Oxite, an ASP.NET MVC blogging engine

When I started blogging I wrote my own blogging engine as a way to improve my ASP.NET skills. It was a nice project, but as other blogging engines became more advanced I didn't have time to keep up. So I've wanted to move my blog to another engine for a while. There really is no point in reinventing the wheel and I have more exciting projects now.
I heard about Oxite while I was looking into ASP.NET MVC. MVC is way of structuring applications and has been around for ages, but ASP.NET MVC is a new thing and a thing that I'm quite excited about. Oxite started life as an MVC example and isn't a polished product yet. However, I thought it would be an excellent way to become more familiar with .NET MVC.
It didn't quite meet my needs out of the box. In particular I didn't want my old URLs to break. So I've hacked it about a bit and in the process learnt a lot about MVC. I'm slightly dreading the planned update to Oxite though as the modifications I've made will probably get in the way, but I'm sure the updates will be worth it. I was surprised and pleased when one of the Oxite developers got in touch via twitter to check if I liked Oxite and to offer any help if I needed it. I did end up needing it and he was very helpful, so big thanks go to Erik Porter.
I'm due to start my first .NET MVC project in two weeks and playing about with Oxite has been a big help.
Simple SQL Server Database Schema Printer (ASP.NET)
I created this simple app recently to print out all the tables in an SQL Server database. It shows each table's name, description and information about all its columns. I mainly use it when I start on a new project that has an existing database that I need to fully understand.
This is an ASP.NET app, but it's based on the code from Jim Rutherford's ASP SQL Server Schema Printer.
It's just an ASP.NET page. First you need to add your database connection string and then you upload it to your webserver.
You can download it from here:
Perfect validation?
Doing validation well and being able to get it done quickly is a recurring problem in any web project. When I first started using ASP.NET I thought the built in validation controls would be the answer.
They were really easy to add to a page, but they didn't do everything I wanted them to and I found some of the code they produced a bit strange.
I set about making my own controls that would be just as easy to add to a page, but do everything I wanted them to.
My main requirements were:
- Easy to reuse and add to new forms
- Validate on server and client
- Client side validation to use ajax
- Visual feedback to user as form is being filled in
- Easy to unit test
I've created a number of validation controls that are very easy to add to a page. You just add the controls, tell them the validation rules to use and everything else is done for you. It only takes a few minutes and this used to take hours.
The controls will always validate on the server, but if they will also validate with JavaScript (if available) and only submit to the server when the validation passes.
The visual feedback was difficult to get right and I had to test out several options on willing volunteers till I found what worked best.
I've centralised all the validation rules I use and written unit tests for them. This means that I'm much more confident that the validation validates what it is supposed to.
You can see them in action on my contact page and the register page of this blog.
However, I'm still not sure they're perfect and I'm going to keep on refining them. The great thing about creating controls to do this, is that they'll continue to get better, and all my projects past and present will benefit from it.
Richard's weather
The weather in Leeds lately has been very random. Sunny one minute, torrential rain and thunder the next.
To help others know what weather I'm experiencing, I've made a handy ASP.NET control that displays the weather in Leeds. It shows a picture of me experiencing that weather and can also tell you the weather in several other places I've been to.
It can also change how the whole site looks based on the weather, but it doesn't do this at the moment. You can see this control on the right hand side of my blog's homepage.
