Latest Entries

RSS Feeds and Google Sitemaps for ASP.NET MVC with LINQ To XML

calendar_today 10 July 2009 22:43

LINQ ASP.NET MVC

For the majority of personal web sites, two uses of XML are commonplace: creating an RSS feed and a Google Sitemap. Here, I look at how to create both of those using LINQ to XML for an ASP.NET MVC web site.

ASP.NET MVC, Entity Framework, Modifying One-to-Many and Many-to-Many Relationships

calendar_today 28 June 2009 21:37

ASP.NET MVC Entity Framework

Building on my previous article, which looked at adding data with one-to-many and many-to-many relationships via the Entity Framework, here's a look at how to modify that data within an ASP.NET MVC application.

ASP.NET MVC, Entity Framework, One-to-Many and Many-to-Many INSERTS

calendar_today 17 June 2009 21:55

ASP.NET MVC Entity Framework

Taking on two new technologies - ASP.NET MVC and the Entity Framework - at the same time was bound to provide some "interesting" moments. Getting data out via EF has so far been pretty straightforward. But when it got to building the back end of my site, I had some fun trying to manage INSERTS with One-To-Many and Many-To-Many relationships.

Handling Legacy URLs with ASP.NET MVC

calendar_today 08 June 2009 07:37

ASP.NET MVC

According to Google's Webmaster tools, there are about 15,000 incoming links to my site. 13,000 of those reference a .ASPX file on disk. When I convert to MVC, with new Search Engine Friendly urls, all those links will break unless I do something about it. Presenting users with a 404 - file not found is not an option. I need to show them the content they were expecting, and update Search Engines with the news that things have changed. Here's how I will be managing those Legacy URLs.

Creating a Tag Cloud using ASP.NET MVC and the Entity Framework

calendar_today 01 June 2009 07:26

ASP.NET MVC Entity Framework

A Tag Cloud is a visual depiction of Tags or categories on a web site. CSS is used to set the variable font size of each Tag to illustrate its relative frequency or popularity within the site. As part of the migration of my site to ASP.NET MVC, I am introducing one to replace the Categories navigation that appears on the left hand side of each page, which contains a count of items within each category.

A Degradable jQuery AJAX Email Form for ASP.NET MVC

calendar_today 29 May 2009 15:58

AJAX ASP.NET 3.5 jQuery ASP.NET MVC

Pretty much every web site on the Internet features a form for users to provide feedback via email to site owners. This site is no different. Migrating to ASP.NET MVC requires a slightly different approach to that used by Web Forms development, so this article looks at one way to implement a web site contact form using the MVC framework and jQuery that degrades nicely. AJAX functionality is said to be "degradable" if a way is provided for the process to work, even though users don't have Javascript available to them.

ASP.NET MVC Partial Views and Strongly Typed Custom ViewModels

calendar_today 11 May 2009 07:06

ASP.NET MVC Entity Framework

I'm in the process of rewriting mikesdotnetting.com using the ASP.NET MVC framework. It's an interesting experience, in that this is my first exposure to MVC. The first stumbling block I encountered was how to pass data in a satisfactory way to Partial Views which only represent part of the data that is to be displayed in the View. Since I struggled to find clear guidance on this, I thought I would share a way to do it.

Many ways to communicate with your database using jQuery AJAX and ASP.NET

calendar_today 04 May 2009 18:39

AJAX ASP.NET 3.5 jQuery

I've recently done a series of articles that feature calling databases via AJAX using jQuery. In pretty much all of the articles, I have used Web Services as my data access mechanism. Judging from the comments that some of the articles have attracted, this has caused a little confusion. But Web Services is just one mechanism. Page Methods and simple ASPX files are two more. And finally, as pointed out by a commenter, Benny Halperin, ASHX files are yet another option. In this article, I shall review each of these approaches.

Build your own Whois Lookup with ASP.NET and jQuery

calendar_today 14 April 2009 22:39

AJAX Javascript ASP.NET 3.5 jQuery

IP addresses can reveal a lot about your web visitors. For an ecommerce site, the owner or registrant of the visitor's IP address can be very useful information. You could paste each visitor IP address into one of the many free IP Lookup sites available, but that can be time-consuming and tedious. Or you could build your own lookup. This article shows how this can be done pretty quickly.

Lazy Loading jQuery Tabs with ASP.NET

calendar_today 02 March 2009 07:30

AJAX Javascript ASP.NET 3.5 jQuery

This article looks at efficient use of jQuery tabs when displaying data. Specifically, it covers how to lazy-load data, so that it is only accessed and displayed if the tab is clicked.

Persisting the position of jQuery Draggables in ASP.NET

calendar_today 04 February 2009 22:29

AJAX Javascript ASP.NET 3.5 jQuery

It was bound to happen - you knock up an article on jQuery draggables one day, and the next, someone like Jim ;-) comes along and asks about persisting the position of the dragged item across Postbacks, or even sessions. I suppose it's my fault - I mentioned using draggables in a previous life in the context of saving the position, so it's only fair I share how that's done.

Experimenting with jQuery Draggables and ASP.NET

calendar_today 01 February 2009 08:12

Javascript ASP.NET 3.5 jQuery

One of the keystones of modern AJAX-enabled web sites is Drag and Drop. This article looks at the current state of Draggables that form part of the jQuery UI Library.

Preventing duplicate User Names with ASP.NET and jQuery

calendar_today 24 January 2009 18:18

AJAX Javascript ASP.NET 3.5 jQuery

It's a common problem: you have a registration form, but you want to prevent user names or other values from being used more than once. You need a user-friendly way to prevent duplicate values being submitted. This is where the simplicity of jQuery excels.

Ajax with Classic ASP using jQuery

calendar_today 17 January 2009 23:13

Classic ASP VBScript AJAX Javascript jQuery

My simple article on Ajax with Classic ASP is one of the most popular on this site. So I thought it's about time I updated it to show how to use jQuery to Ajaxify a Classic ASP page. Since I did that, the jQuery version became even more popular but needed to be brought up to date. This latest version uses a couple of suggestions that have been provided by commentors to improve the code. I have also added a download which contains all the code needed to run the samples.

Cascading DropDownLists with jQuery and ASP.NET

calendar_today 13 January 2009 08:47

AJAX Javascript ASP.NET 3.5 jQuery

Cascading DropDownLists or dependent dropdowns are the signature dish for AJAX applications. I spent quite a while fiddling to try to get some to work, before stumbling across a life-saving jQuery plugin that makes working with DropDownLists on the client-side a breeze. This article shows how it all works, and makes use of the WebService I introduced in my previous jQuery article.

Handling JSON Arrays returned from ASP.NET Web Services with jQuery

calendar_today 10 January 2009 09:09

AJAX Javascript ASP.NET 3.5 jQuery ASP.NET Web Forms

There appear to be many articles showing how to use jQuery with ASP.NET Web Services around, but the vast majority of them illustrate the use of PageMethods that return a single value - typically "Hello World!" or the current date and time. Not much use in the real world, where you may more often need to call a service that returns a collection of complex objects. Here are a couple of examples that look at playing with more than just simple values.

Upload and Crop Images with jQuery, JCrop and ASP.NET

calendar_today 05 January 2009 13:54

C# AJAX Javascript ASP.NET 3.5 jQuery

I got given jQuery In Action for Christmas. By nature, I'm kind of a late adopter, and I'm already regretting this fact. jQuery has been around for some time, and I wished I had looked at it sooner. It's a fantastic library that really simplifies Javascript development, and is already attracting a goodly number of plug-ins. JCrop is one such, and while it hasn't yet reached version 1.0, it is remarkably easy to use as a web based image cropper. Here's how to put jQuery, JCrop and a FileUpload control together to allow users to upload images and crop them.

Create a Google Site Map with ASP.NET

calendar_today 31 December 2008 09:32

ASP.NET 3.5 ASP.NET Web Forms

Over Christmas, I had a bit of spare time, so I decided to add some functionality to this site. One of the things that I added was the ability for people to post comments about specific articles, and you will see that a form has been added at the end of this article. The other thing I have been meaning to get round to is to add a Google Site Map. I believe I have created my site to be as friendly to Google's bots as possible, but there is no harm in submitting a site map to guarantee that Google knows about all the pages I want indexed.

A DataBound Javascript News Ticker for ASP.NET

calendar_today 25 December 2008 14:18

Javascript ASP.NET 3.5

It's funny how requirements come along like buses in the ASP.NET forums - you suddenly get the same thing asked for by two or more people in quick succession. Recently, a couple of people asked for help creating a Javascript ticker, like the one at the top of the BBC News site, which displays a selected number of headlines drawn from a database. I had adapted the code from the BBC site to create a similar widget that displayed the most recent threads in a message board on an old Classic ASP site some time ago. It's about time I dusted it off and updated it for use in an ASP.NET application.

MS Access Date and Time with ASP.NET

calendar_today 13 December 2008 21:47

MS Access ASP.NET 3.5

Getting odd results and unexpected errors when working with Dates and Times in Access through ASP.NET is a common problem. Here's an overview of the Access DateTime data type, and some resolutions to the more frequently encountered errors.