Using jQuery to enhance ASP.NET AJAX progress indication

AJAX, ASP.NET, UI, jQuery By Dave Ward on October 4th, 2008

Animated example of using jQuery's BlockUI with an UpdatePanelIn the spirit of Microsoft’s official embrace of jQuery last week, I’d like to show you an example of how easily you can add jQuery functionality to existing ASP.NET AJAX applications. jQuery allows you to achieve exceptional results with minimal difficulty, and integrating it with ASP.NET is not an exception.

My previous posts about jQuery have been somewhat lower level, incorporating JSON, web services, and the like. While these are important tools to have at your disposal, the realities of software development sometimes leave us scrambling for something quick and dirty.

In those situations, you may find yourself using the UpdatePanel.

To that end, I’m going to show you how easily you can use jQuery’s BlockUI plugin to display a modal progress indicator during an UpdatePanel’s partial postback.

Click here to read the rest of this post »

Avoid this tricky conflict between ASP.NET AJAX and jQuery

AJAX, ASP.NET, jQuery By Dave Ward on September 28th, 2008

ASP.NET and jQuery's logos togetherYou have probably already read the great news that Microsoft is going to begin shipping jQuery with Visual Studio and ASP.NET MVC. If not, make sure you take a minute to read the official announcements from both ScottGu and John Resig. This represents a surprising, yet tremendously welcomed change of course for Microsoft.

If you haven’t yet used jQuery with ASP.NET, you’re in for a pleasant surprise. It removes almost all of the pain from client-side development. Coming from an ASP.NET centric perspective, you may find several of my previous jQuery articles useful.

Additionally, I highly recommend the articles that Matt Berseth and Rick Strahl have written on the topic of using jQuery with ASP.NET. I am constantly amazed at the quantity and quality of content that they both generate.

Introductions aside, I’d like to take this opportunity to discuss an incompatibility between ASP.NET AJAX and at least one jQuery plugin, which needs to be fixed.

Click here to read the rest of this post »

Username Availability Validator is nearing… availability

AJAX, ASP.NET, General By Dave Ward on September 18th, 2008

After about a week of great discussion and development over at CodePlex, the Username Availability Validator control is nearing readiness for an initial release.

While there are still a few outstanding bug fixes up for grabs and ample room for enhancement, most of the control’s base functionality has been implemented. If you intend to enter the Advanced ASP.NET AJAX Server Controls book giveaway contest via code contribution, time is running out, so don’t delay.

Click here to read the rest of this post »

Review: Advanced ASP.NET AJAX Server Controls

AJAX, ASP.NET, JavaScript, Reading By Dave Ward on September 3rd, 2008

The most common complaint I typically have with the ASP.NET AJAX books I review is that they simply don’t cover JavaScript in enough detail. JavaScript represents half of the nouns in the AJAX acronym, and all of those relevant to ASP.NET AJAX.

For that reason, when I read a book that only contains a few pages about remedial JavaScript and then jumps directly into using UpdatePanels and Timers, I don’t recommend it to you.

However, I was very impressed when I began reading Adam Calderon and Joel Rumerman‘s recent book, Advanced ASP.NET AJAX Server Controls.

Click here to read the rest of this post »

Easily build powerful client-side AJAX paging, using jQuery

AJAX, ASP.NET, JavaScript, UI, jQuery By Dave Ward on August 20th, 2008

A book's pages blowing in the wind

When I suggest that developers consider using web services and a more client-centric approach to solve their UpdatePanel performance problems, the lack of paging is often their first objection.

Conventional ASP.NET wisdom seems to hold that the GridView/UpdatePanel combo is king when asynchronously paging through a data source. If you’ll give me a few minutes of your time, I’d like to challenge that notion!

Click here to read the rest of this post »

It’s almost that (book giveaway) time again

AJAX, ASP.NET, JavaScript, Reading By Dave Ward on August 18th, 2008

When I heard the banging on my front door early this morning, I thought it was yet another solicitor selling magazine subscriptions or overpriced vacuum cleaners.

That periodic interruption ranks near the top of my short list of telecommuting drawbacks. It’s truly amazing what gall door-to-door solicitors have, even in the face of the NO SOLICITING sign prominently displayed on the only street into my neighborhood.

Click here to read the rest of this post »

How to easily enhance your existing tables with simple CSS

AJAX, ASP.NET, CSS, UI, jQuery By Dave Ward on August 13th, 2008

In two of my recent posts, I demonstrated using ASP.NET AJAX in conjunction with jQuery or ASP.NET AJAX 4.0′s templating features to generate client side tables from JSON data. However, what I neglected to show you was how to make them look even remotely presentable.

In this post, we’ll continue where those posts left off. I’m going to show you how you can improve the table’s presentation in three steps:

  • Setting basic styles for the page and table.
  • Improving the table header by using strong contrast.
  • Adding subtle gridlines to the table body.

Click here to read the rest of this post »

A sneak peak at ASP.NET AJAX 4.0′s client-side templating

AJAX, ASP.NET, JavaScript, UI By Dave Ward on July 23rd, 2008

Hot on the heels of the recent ASP.NET AJAX roadmap, Bertrand and team have released a limited preview of the new AJAX functionality coming in ASP.NET 4.0.

To see how the new functionality stacks up, I decided to recreate my recent jTemplates example, using only ASP.NET AJAX and its new templating features. Eventually, I settled on using the DataView class, which offers more advanced, repeater-like functionality.

Having successfully completed the exercise, I thought it seemed like something that you might find interesting too. The solution boils down to four easy steps:

  • Creating a page method to return JSON data.
  • Setting up a ScriptManager to coordinate script and page method access.
  • Defining the client-side template that will render the JSON data.
  • Using JavaScript to render the template, using the page method’s return.

Click here to read the rest of this post »

The Future of ASP.NET AJAX

AJAX, ASP.NET By Dave Ward on July 15th, 2008

Bertrand Le Roy recently published a 13 page document on CodePlex, describing the ASP.NET Team’s goals for the future of ASP.NET AJAX. It’s been available for two weeks now, but there has been little reaction to it online and less than 8,000 people have downloaded it. I’m surprised, considering its importance.

If you haven’t yet read it, I encourage you to download and read it right now.

Now that you’ve read the official document, continue reading here for my take on what I think are the most significant items in the document. What follows is broken down into sections matching the road map document:

Click here to read the rest of this post »

PostBack Ritalin Updated (v0.10)

AJAX, ASP.NET, PostBack Ritalin, UI By Dave Ward on June 30th, 2008

After a long beta period, PostBack Ritalin v0.10 is finally ready for release. This is absolutely the best version yet. Many edge case issues have been resolved, and the code is leaner and more efficient than ever before.

Changes include:

  • Complete rewrite of the JavaScript component of the control. Instead of global variables and functions, PostBack Ritalin is now a proper JavaScript object. This significantly minimizes its namespace impact on the DOM.
  • JavaScript embed is now minified.
  • By popular demand, added support for disabling LinkButtons.
  • Added optional image pre-loading for WaitImages. Previously, disabled ImageButtons could take a bit too long to show their disabled image the first time, due to HTTP delay. Enabling pre-loading will cause the browser to pre-fetch and cache the disabled images, resulting in instant feedback for the disabled state.
  • Several bug fixes, thanks to your invaluable feedback.

I’m especially happy with the JavaScript rewrite. Using the object oriented approach on the client side, I’ve added the beginnings of a client-side API similar to the AJAX Toolkit controls (get_property, set_property, etc). Currently, this won’t be of much use to you, but I’ll be expanding and documenting the client-side API in future versions.

The one feature that I wasn’t able to add yet is support for disabling all buttons on the page or within the triggering container. Considering the sweeping changes to the entire client-side portion of the control, I decided to avoid adding significantly more complexity to it in the same release.

I haven’t forgotten about it though, and will add the feature soon.

As always, the free download is available on the PostBack Ritalin project page.