As of today, the site is exactly one year old. What a year it has been!

I would like to sincerely thank every one of you for making this past year such a blast. Without all of your great comments, emails, links, and kicks, I doubt that I would have been motivated enough to keep putting in all the work that it takes to run this site.

I would also like to especially thank Joe Stagner, Scott Guthrie, and the DotNetKicks community for their considerable support this year.

2007’s most popular posts:

Easily refresh an UpdatePanel, using JavaScript: Even to this day, it’s one of my most viewed posts. The __doPostBack technique is something that I’ve been dogfooding extensively since, and I can say without hesitation that it’s a great way to programmatically trigger server side events from client script.

I owe Joe Stagner big time for the popularity of this post. Thank you, Joe.

Why ASP.NET AJAX UpdatePanels are dangerous: This post exploded my traffic. It seemed to really strike a nerve with a lot of people, which wasn’t my intent at all. However, I still absolutely stand by every word of the post. Continuing real-world experience has only served to reinforce my opinion on the matter. Just a cursory search of the ASP.NET forums backs it up strongly as well.

Are you making these 3 common ASP.NET AJAX mistakes?: I didn’t expect this to be a popular post. If anything, I felt like it was rushed and not as complete as I would’ve liked. However, it’s my third most viewed page for the year, so who am I to judge?

Seamless inline text editing with ASP.NET AJAX: This one, I was really proud of. I was tired of seeing all the flashy, lightweight techniques on other platforms, while we all wallowed in UpdatePanel bloat. So, I wanted to demo something that was heavy on the client side magic and didn’t rely on partial postbacks at all. Goal achieved!

I owe ScottGu for a lot of this post’s popularity. Thanks, Scott.

Display data updates in real-time with AJAX: I don’t know if it was due to a bad title or what, but this one was a bit of a sleeper. It drew almost no interest at first, but its popularity eventually began to grow rapidly after a month or two.

I plan on reprising this post with a completely client side solution soon, using no partial postbacks at all. I’ve been using that technique in production, gaining amazing performance gains of 20-80x over partial postbacks to render GridViews.

Honorable mention

The post that I most wish had done better than it did is Easy incremental status updates for long requests. It’s something that I see people struggling with almost daily on the ASP.NET forums, and I wish that I could have put the post in front of more eyeballs than I did.

I hold out hope that it will gain popularity over time, like the real-time updates post did. Until then, I suppose I’ll just have to keep watching the ASP.NET forums and pointing people to it when they’re in need.

Contest winners

Okay, I feel a bit like a news weatherman, putting the part you actually care about at the end of the post. I know this is what you’re really interested in, so let’s get on with it.

Winner #1 (Comment): Clinton Gallagher

Winner #2 (RSS entry): Nichole Dugan

Winner #3 (Email list): JStengel@*****.***

Congratulations to the winners, and check your email. I’ll be in touch soon.

To those who didn’t win this time, stay tuned. The success of this week’s contest has definitely paved the way for more in the future.

Thanks to our sponsor

Again, I would like to thank Manning Publications and Alessandro Gallo for providing these books to give away. Without them, none of this week’s fun would have been possible.

If you didn’t win, I hope you’ll still consider picking the book up. It’s a great book to begin with, and you just have to love a company that supports the .NET community like this.

I hope you all have a safe and happy holiday, and I’ll see you back here next year!