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 »

How I Got Started in Software Development

General By Dave Ward on July 1st, 2008

Well, Justin Etheredge tagged me in Michael Eaton’s software development meme that’s been going around.

As far as blog-chain-letters go, this is a great one. It’s interesting to see how many diverse backgrounds lead us in the same direction.

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.

Use jQuery and ASP.NET AJAX to build a client side Repeater

AJAX, ASP.NET, JavaScript, UI, jQuery By Dave Ward on June 26th, 2008

There was some interesting discussion on Matt Berseth’s blog recently, regarding methods for building and displaying markup on the client side. Though I haven’t posted any examples here before, rendering markup on the client is a technique that I use often and recommend.

By sending only data to the client, you can profoundly reduce the size of what you send and see a substantial increase in performance. You also allow yourself the ability to easily add features like light-weight sorting and paging on the client. This can not only improve your users’ experience, but reduce server load and bandwidth requirements.

To that end, I’m going to walk you through these four steps to effectively implementing a client side Repeater, using ASP.NET AJAX and jQuery:

  • Create an RSS Reader page method to return JSON data to the client.
  • Call that page method with jQuery.
  • Use the returned data to build a table on the client side.
  • Improve upon the table creation with a templating plugin.

Click here to read the rest of this post »

3 mistakes to avoid when using jQuery with ASP.NET AJAX

AJAX, ASP.NET, JavaScript, jQuery By Dave Ward on June 5th, 2008

Over the past few weeks, I think I have definitely embodied Jeff Atwood’s claim that we’re all amateurs, learning together. Despite my best efforts to thoroughly test before posting, a few problems slipped through in my recent posts about using jQuery to consume ASP.NET JSON serialized web services and using jQuery to call ASP.NET AJAX page methods.

On the bright side, your great feedback in both posts’ comments has reinforced the fact that some of the best content on my blog is the part that you write.

In this post, I’m going to detail three of the problems that were discovered as a result of those previous two posts:

  • An extra requirement when making a read-only request to IIS6+.
  • An oddity in Internet Explorer 7’s XmlHttpRequest class.
  • A common mistake when passing JSON parameters through jQuery.

Finally, I’ll suggest what I now believe to be a best practice usage, taking all of these issues into account.

Click here to read the rest of this post »

Using jQuery to directly call ASP.NET AJAX page methods

AJAX, ASP.NET, JavaScript, jQuery By Dave Ward on May 29th, 2008

When it comes to lightweight client-side communication, I’ve noticed that many of you prefer ASP.NET AJAX’s page methods to full ASMX web services. In fact, page methods came up in the very first comment on my article about using jQuery to consume ASMX web services.

Given their popularity, I’d like to give them their due attention. As a result of Justin’s question in those comments, I discovered that you can call page methods via jQuery. In fact, it turns out that you can even do it without involving the ScriptManager at all.

In this post, I will clarify exactly what is and isn’t necessary in order to use page methods. Then, I’ll show you how to use jQuery to call a page method without using the ScriptManager.

Click here to read the rest of this post »

Inline Edit Box on CodePlex and new PostBack Ritalin beta

AJAX, ASP.NET, PostBack Ritalin, UI By Dave Ward on May 16th, 2008

I’ve decided to open source Mike Davis’ ever-popular Inline Edit Box .NET control. Neither of us have enough time to maintain it properly, and several of you have expressed interest in contributing if it were open source. So, its new home is CodePlex: http://www.codeplex.com/InlineEditBox

You’ll have to bear with me, because this is my first CodePlex project and I’m still familiarizing myself with the admin functionality of the site. If you have any trouble contributing to the project, contact me directly and I’ll do my best to resolve it quickly.

Click here to read the rest of this post »