About this site
I started this site as somewhere to store answers to bits and pieces that I see asked frequently in the forums at www.asp.net. Rather than type the same answer to a question over and over, I reckoned that it would be easier to provide a fuller answer here, then link to it. From then on, I have added items that result from my playing around with the ever increasing number of new features in ASP.NET.
This version of the site is written using the ASP.NET MVC framework (v 2.0), and the Entity Framework is used for the Data Model aspects. The first version of the site was thrown together using Web Forms, SqlDataSource controls and Drag and Drop. Yes, really: this site went into producton with SqlDataSource controls in it. And it worked absolutely fine. I built it entirely over several evenings. RAD. In the middle of 2008, I replaced the SqlDataSource controls with ObjectDataSource controls and Linq To SQL. Not because I needed to, but I had nothing else on which to experiment with LINQ to SQL at the time.
You are welcome to link to/copy/borrow/steal/bookmark or otherwise make use of any of the code you find here if it is useful to you, entirely at your own risk. I will not be held responsible for example, for any delays in your project caused by you trying to fit bits of my code into your application without understanding what you are doing. Bear in mind that snippets in particular are not necessarily complete code modules, and may need to be placed in a class or method to get them to work.
You may NOT copy entire articles and publish them on your own site.
All the code I feature on this site has been compiled and run successfully by me. If you post a comment telling me that my code doesn't work, I'll delete it. Unless of course, i made a typo and the code I posted will never work. The best place to ask questions about any errors you get in your ASP.NET code is at forums.asp.net. You could use the comments facility that features at the bottom of every article in the site, but this is not the quickest way to get help. I may be busy doing my day job (which does not include providing free support on other people's ASP.NET problems). It might take days before your comment is even moderated and published. And even then, I may not know how to solve your problem. If you would like to contact me on any other matter, please feel free to do so using the form on the Contact page.
Unless otherwise stated, none of the snippets or examples here necessarily conform to "Best Practice", whatever that is. They may not include structured exception handling, for example, or be in any way optimised, or employ a level of code or layer separation to please some people. If you are sufficiently offended by the sight of an SqlDataSource control on a page, or other such heinous sin, please don't waste your time contacting me with your rant or diatribe. I would otherwise welcome messages about technical inaccuracies you may spot, or typos - or indeed improvements you might want to offer to code I have presented, or any other aspect of this site.
Most articles contain much, if not all the code you need to get going. More recent ones (especially ones about the Web Pages framework) also include a link to a download. However, if you find that the concepts introduced in an article are foreign to you, and I didn't explain them well enough or at all, feel free to use the contact form to suggest topics for additional articles. You can also use Google or Bing or any other search engine to find more information, or use the forums at forums.asp.net to ask a question. I'm happy to point people who are obviously making an effort to learn for themselves in the right direction, but I hate seeing questions in the forums that basically ask people to write an application for the questioner. I'll help you to find out how to do your homework, but I won't do it for you.
A bit about me
I'm no guru. Despite that (or perhaps because of it) I have been awarded Microsoft MVP for ASP/ASP.NET each year since 2008.
For those of you who are curious about what this ASP.NET MVP does for a living, I head up the digital activities at Step Communications, a publishing and events management company based in Tunbridge Wells, Kent. I have been developing web sites since 2002, and am completely self-taught. I live in Rochester in the UK.
This site is purely a personal web site and therefore the views etc expressed within it are completely mine. They do not represent the views of my employers, nor those of any other organisation (including Microsoft Corporation) or any other person.... except of course, where they represent the views of my employers, another organisation or person.