【发布时间】:2010-05-28 19:20:12
【问题描述】:
我正在开发一个需要 jQuery AutoComplete 的 ASP.NET 应用程序。目前,当我在 txt63 输入框中输入数据时,什么也没有发生(,在你因为使用 txt63 之类的名称而激怒我之前,我知道,我知道......但这不是我的决定:D) .
这是我的 javascript 代码
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js" type="text/javascript"></script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.1.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
var theSource = '../RegionsAutoComplete.axd?PID=<%= hidden62.value %>'
$(function() {
$('#<%= txt63.ClientID %>').autocomplete({
source: theSource,
minLength: 2,
select: function(event, ui) {
$('#<%= hidden63.ClientID %>').val(ui.item.id);
}
});
});
这是我的 HTTP 处理程序
Namespace BT.Handlers
Public Class RegionsAutoComplete : Implements IHttpHandler
Public ReadOnly Property IsReusable() As Boolean Implements System.Web.IHttpHandler.IsReusable
Get
Return False
End Get
End Property
Public Sub ProcessRequest(ByVal context As System.Web.HttpContext) Implements System.Web.IHttpHandler.ProcessRequest
''# the page contenttype is plain text'
context.Response.ContentType = "application/json"
context.Response.ContentEncoding = Encoding.UTF8
''# set page caching'
context.Response.Cache.SetExpires(DateTime.Now.AddHours(24))
context.Response.Cache.SetCacheability(HttpCacheability.Public)
context.Response.Cache.SetSlidingExpiration(True)
context.Response.Cache.VaryByParams("PID") = True
Try
''# use the RegionsDataContext'
Using RegionDC As New DAL.RegionsDataContext
''# query the database based on the querysting PID'
Dim q = (From r In RegionDC.bt_Regions _
Where r.PID = context.Request.QueryString("PID") _
Select r.Region, r.ID)
''# now we loop through the array'
''# and write out the ressults'
Dim sb As New StringBuilder
sb.Append("{")
For Each item In q
sb.Append("""" & item.Region & """: """ & item.ID & """,")
Next
sb.Append("}")
context.Response.Write(sb.ToString)
End Using
Catch ex As Exception
HealthMonitor.Log(ex, False, "This error occurred while populating the autocomplete handler")
End Try
End Sub
End Class
End Namespace
我的 ASPX 页面的其余部分具有适当的控件,因为我使用的是旧版本的 jQuery 库。我正在尝试让它与新的一起使用,因为我听说“开发”CDN 将会过时。
任何帮助或指导将不胜感激。
【问题讨论】:
-
我认为 txt63 是一个崇高的名字,我会为我的第 63 个孩子命名这个快乐的名字,并且会因为我无法命名它而责备另一个人:D
-
只是为了澄清。站点所有者已经构建了一个需要与此应用程序交互的应用程序和数据结构。数据库表只是一堆数字 50 - 250 或类似的愚蠢的东西。如果我要使用名称,那么我必须为下一个将名称映射到数据库的人构建一个参考指南......这更有意义。
标签: javascript jquery asp.net json ihttphandler