.net 自动完成接受一个sql值,而不是多个sql值

.net 自动完成接受一个sql值,而不是多个sql值,.net,asp.net,vb.net,jquery-autocomplete,jquery-ui-autocomplete,.net,Asp.net,Vb.net,Jquery Autocomplete,Jquery Ui Autocomplete,我目前第一次投入jquery自动完成。首先,我让一个.net处理程序调用一个mssql数据库并提取姓氏。这很有效 然而,当我尝试添加附加值时,它根本不起作用。处理程序中使用的代码如下所示 Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest Dim prefixText As String = context.Request.QueryStrin

我目前第一次投入jquery自动完成。首先,我让一个.net处理程序调用一个mssql数据库并提取姓氏。这很有效

然而,当我尝试添加附加值时,它根本不起作用。处理程序中使用的代码如下所示

    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
    Dim prefixText As String = context.Request.QueryString("term")

    Dim conn As SqlConnection = New SqlConnection
    conn.ConnectionString = ConfigurationManager.AppSettings("CDBPath")

    Dim cmd As SqlCommand = New SqlCommand
    cmd.CommandText = ("Select Ebase.EbLastname, Ebase.EbFirstname, Ejob.EjTitle, Ebase.EbClock " + _
                        "From Ebase " + _
                        "INNER Join Ejob " + _
                        "ON Ebase.EbFlxID = Ejob.EjFlxIDEb " + _
                        "Where Ebase.EbLastname LIKE @SearchText + '%'" + _
                        "And Ebase.EbDateEnd Is Null " + _
                        "And Ejob.EjDateEnd Is Null")

    cmd.Parameters.AddWithValue("@SearchText", prefixText)
    cmd.Connection = conn

    Dim sb As StringBuilder = New StringBuilder
    conn.Open()
    Dim sdr As SqlDataReader = cmd.ExecuteReader

    While sdr.Read
        sb.Append(sdr("EbLastname")).Append(", ").Append(sdr("EbFirstname")).Append(" - ").Append(sdr("EjTitle")).Append(", ").Append(sdr("EbClock")).Append(Environment.NewLine)
    End While
    conn.Close()
    context.Response.ContentType = "application/json"
    context.Response.Write(sb.ToString)

End Sub
我在发帖时没有包括可重用的,但那是存在的。为什么它不喜欢多个值,但只显示一个值,我缺少了一些真正简单的东西

**编辑**为了澄清,我刚刚查看了Firebug,它得到了响应,但没有显示。到目前为止,我的实现非常简单,没有什么好想象的

        $(function() {
        $('#lastName').autocomplete
        ({
            source: "FormAutoComplete.ashx",
            minChars: 3

        });
    })

如果要返回多个值,则必须对该项进行分析和格式化。这是我过去所做的一个例子。它返回一个json对象,如下所示:

{ City: "Charleston", State: "SC", Code: "chs" }
并将其格式化为Charleston,SC,并将代码用于文本框中显示的实际值

$areas.autocomplete(data, {
            formatItem: function (item) {
                return item.City + ", " + item.State;
            },
            formatResult: function (item) {
                return item.Code;
            },
            multiple: true
});

澄清你所说的“不起作用”是什么意思。归还什么?在VisualStudio中调试和逐步执行时,您在sb.ToString上看到了什么?p.campbell我添加了实际使用的代码。原样,输入是在一个带有类ui小部件的div中,输入id是lastName。我将查看数据的格式,谢谢Micah。但奇怪的是,数据被发送到页面,它只是不做任何事情来显示它。这通常是autocomplete在数据阻塞时所做的。检查控制台,看看是否有任何错误被记录下来。我能够重做我的处理程序来返回“正确”的数据,现在它工作得很好。谢谢你的提示,我快发疯了!