asp.net - 将 AJAX 回调与 ASP.NET 用户控件结合使用

标签 asp.net jquery ajax

实现需要 AJAX 回调的用户控件的最佳方法是什么?

我想完成一些事情:

  • 在浏览器中完成事件(例如,拖放)会触发 AJAX 通知,该通知可以引发控件事件,这会导致页面上的代码使用控件执行其需要执行的操作(例如,更改一个数据库)。
  • 进行部分更新(不使用更新面板),可以执行诸如填充文本框下方的自动完成下拉列表之类的操作。
  • 实现一个足够通用的用户控件,可以在多个页面上重复使用
  • 避免在页面本身上实现将事件传递回控件的逻辑,因为这是重复的且难以维护

我将 jQuery 用于大多数客户端内容,但对于实际的 AJAX 调用,我并不真正关心它是 jQuery 还是 ASP AJAX 库。

实际上,完美的是用户控件上的 PageMethods,可以轻松地从客户端脚本调用它。不幸的是,据我所知,页面方法不适用于用户控件。

<小时/>

我将使用自动完成控件作为示例:

我应该能够将自动完成控件放在页面上,然后在页面代码中添加例如:

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

什么也不做......其余的代码应该在用户控件中。

<小时/>

请注意,我尝试制作的控件比自动完成等更具体。它们不存在于任何第三方库中,我真的需要能够自己制作它们。

最佳答案

考虑在您的页面中实现 ICallbackEventHandler - 这是从 JavaScript 回调页面函数的简单方法。

这是一个很好的教程:

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

关于asp.net - 将 AJAX 回调与 ASP.NET 用户控件结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/211184/

相关文章:

c# - 未调用自定义 ASP.NET 属性

c# - 从数组到数据表

c# - 当我选择下拉菜单时显示按钮两次

javascript - 在 jsRender 中,如何访问要更新的元素?

javascript - HTML菜单点击跳转到div

javascript - 使用 Javascript 简单地基于标签的突出显示

c# - 查找包含特定单词的特定属性

jquery - 使用 jQuery UI slider 自定义范围/变量集

javascript - $.ajax 缓存真实持续时间

jquery - document.ready 函数被一遍又一遍地调用