ASP.NET AJAX Timer Trouble? Location is key.

AJAX, ASP.NET, JavaScript, Performance By . Updated October 10, 2008

If you’ve made much use of the ASP.NET AJAX Timer control, you may have noticed that it can behave somewhat unexpectedly. In this post, I’m going to take a closer look at how the Timer works and the most significant factor that influences it: Location.

Where the timer is placed on the page actually varies how it operates. As a Timer’s delay interval approaches the processing time of its resulting PostBack, the difference that the Timer’s location makes becomes very significant.

Click here to read the rest of this post »

Seamless inline text editing: The Control!

AJAX, ASP.NET, UI By . Updated October 10, 2008

In my recent post, Seamless inline text editing with ASP.NET AJAX, I thought I had outlined the simplest possible way to implement the technique, but I was wrong. One of my readers, Mike Davis, took what I began and built it into the beginnings of a great ASP.NET server control.

The initial release is available here: Inline Edit Box .NET

With it, you can transparently implement the inline editable label functionality with only one line of code. He’s not finished refining it and adding new features yet, so he would like your input on where to go from here.

Download it, give it a try, and leave Mike some feedback in the comments on the download page today!

Seamless inline text editing with ASP.NET AJAX

AJAX, ASP.NET, JavaScript, Performance, UI By . Updated October 15, 2008

Inline text editing animationThis is a technique that I really like. It’s excellently suited to intranet sites and administrative interfaces, where your users are typically familiar enough with the application to know which text they can click to edit. It’s actually very easy to implement, with a small amount of JavaScript.

Click here to read the rest of this post »

Updated your web.config, but Sys is still undefined?

AJAX, ASP.NET, JavaScript By . Updated January 16, 2012

Sys is not defined error message

If you Google the error you’ll find a lot of results about updating your web.config to enable ASP.NET AJAX (which is a necessary step), but what if you’ve already done that? Not only will your search be an exercise in frustration, but it will lead you down the wrong path completely. Maybe I can help.

Click here to read the rest of this post »

Robust ASP.NET control referencing in JavaScript

AJAX, ASP.NET By . Updated April 23, 2008

As you may know, ASP.NET controls often render with client-side IDs different than what’s declared in your aspx code. Especially when they’re nested in other controls (Tabs, Wizard, GridView, etc). When working with them on the server side this isn’t an issue, but tends to throw a monkey wrench into the gears of client-side development. Here’s an example:

Click here to read the rest of this post »

Highslide JS .NET (v0.4)

AJAX, ASP.NET, Highslide, UI By . Updated October 10, 2008

Embedded outline graphics!

Finally, the control does what I really wanted it to from the start: It completely encapsulates Highslide JS into a single file. You no longer need a graphics/outlines directory with external outline images. Absolutely everything you need is embedded in the control’s .DLL.

If you’re upgrading from a previous version, drop the GraphicsPath property from your HighslideManager control and feel free to delete the outlines directory from your site.

As always, the latest version is available on the Highslide JS .NET download page.

Simplify ASP.NET AJAX client-side initialization

AJAX, ASP.NET, UI By . Updated March 24, 2009

I recently found myself needing to perform a bit of client-side page initialization, both on initial page load and when partial postbacks completed. I muddled through by using window.OnLoad() for the initial page load and an EndRequest handler for partial postbacks. It worked, but I wasn’t very happy with the kludgey nature of it.

On an unrelated ASP.NET forums thread around the same time, Steve Marx pointed out to me that the AJAX framework automatically wires up any client-side function named pageLoad() as an Application.Load handler. It’s actually in the docs, if you dig for it:

To handle the load and unload events of the Application object, you do not have to explicitly bind a handler to the event. Instead, you can create functions that use the reserved names pageLoad and pageUnload.

Click here to read the rest of this post »

Get Yahoo’s HTTP performance analysis tool

AJAX, ASP.NET, Performance By . Posted July 25, 2007

YSlow, Yahoo’s previously internal-only HTTP profiling tool, has been released to the public. It extends FireBug to analyze a page and provide an optimization checklist.

After experimenting with it for a bit today, I think it will quickly become as integral to my performance tuning as FireBug itself.

Get it here: http://developer.yahoo.com/yslow/

Display data updates in real-time with AJAX

AJAX, ASP.NET, Performance, UI By . Updated October 15, 2008

Example image of Digg Spy.

I’ve recently noticed the real-time “spy” feature popping up on more and more sites. Though it’s often a huge time waster, I can’t help but love the feature. It’s a great example of AJAX leveraged to do what it does best. It struck me that an ASP.NET AJAX implementation would be an excellent use of page methods for efficiency and __doPostBack() to trigger an UpdatePanel refresh. So, I decided to put together a proof of concept, using the ASP.NET AJAX framework.

To create a fully functional example, several things need to be done:

  • Choose a data source to “spy” on.
  • Build an interface to add rows, for testing.
  • Display that data in a row-based format.
  • Create a method to find the most recent row of data.
  • Use that method to asynchronously monitor row updates.
  • Refresh stale data when additions are detected.

Click here to read the rest of this post »

How to improve ASP.NET AJAX error handling

AJAX, ASP.NET, CSS, UI By . Updated August 29, 2007

AJAX error message on the ASP.NET forums

If you’ve done much ASP.NET AJAX development, you’re no doubt familiar with JavaScript alert errors similar to the one pictured above. This particular one occurs on the official ASP.NET forums in FireFox, if you try to navigate away from viewing a user profile before the Recommended Reading panels asynchronously load.

Not only is the error message of “…” completely meaningless, but it blocks your intended navigation away from the page until you’ve dismissed the alert window. Hopefully, someone at Telligent will read this, because the ASP.NET AJAX framework gives us an easy way to replace the annoying JavaScript alerts and vastly improve the usability of our applications.

Click here to read the rest of this post »