gregmac
gregmac

Reputation: 25331

Using AJAX callbacks with ASP.NET User controls

What's the best way to implement user controls that require AJAX callbacks?

I want to accomplish a few things:

I'm using jQuery for most of the client side stuff, but for the actual AJAX calls I don't really care if it's jQuery or the ASP AJAX libraries.

Effectively what would be perfect is PageMethods on the user control, that would be easily callable from client-side script. Unfortunately, as far as I'm aware, pagemethods do not work on user controls.


I'll use an autocomplete control as an example:

I should be able to put the autocomplete control on the page, and then in the page code, have eg:

Public Sub HandleLookup(ByVal input As String, ByRef list As List(Of String) Handles MyControl.LookupEntries
  list = New List(Of String)
  ' Query database for list of items.. 
  For Each item as String in FullItemList
    If item.StartsWith(input) then list.Add(item)
  Next
  Return list
End Sub

And do nothing else .. the rest of the code should be in the usercontrol.


Note, the controls I'm trying to make are much more specific than eg, autocomplete. They do not exist in any 3rd party libraries and I really need to be able to make them myself.

Upvotes: 4

Views: 5903

Answers (2)

Thomas Hansen
Thomas Hansen

Reputation: 5513

You might want to check out; Ra-Ajax UserControl Sample and combine that knowledge with Ra-Ajax Drag and Drop

Click the "Show code" C# icon to the left to see the usage of the code...

Upvotes: 0

Lou Franco
Lou Franco

Reputation: 89232

Look into implementing ICallbackEventHandler in your Page -- it's a simple way to make a call back to a page function from JavaScript.

Here's a good tutorial:

http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=119

Upvotes: 2

Related Questions