1

我使用的是 jQuery Autocomplete,而不是 jQueryUI,目前它不会显示超过 10 个结果。我已指示 max:20 尝试一下,但无济于事。是因为我的查询限制吗?

Javascript

$(document).ready(function() {
        $("#<%=txtSearch.ClientID%>").autocomplete('Autocomplete/Search_CS.ashx', {width: 400, multiple: false, matchContains: true, delay: 200, Max: 20 });
    });

ASHX

public class Search_CS : IHttpHandler {

public void ProcessRequest (HttpContext context) {
    string prefixText = context.Request.QueryString["q"];
    using (SqlConnection conn = new SqlConnection())
    {
        conn.ConnectionString = ConfigurationManager
                .ConnectionStrings["Rollup2ConnectionString"].ConnectionString;
        using (SqlCommand cmd = new SqlCommand())
        {
            //cmd.CommandText = "select NUID from T_USER where " +
            //"NUID like @SearchText + '%'";
            cmd.CommandText = "select rtrim(NUID) NUID, rtrim(FNAME) FNAME, rtrim(LNAME) LNAME from T_USER where NUID like @SearchText + '%' OR FNAME like @SearchText + '%' OR LNAME like @SearchText + '%'"; 
            cmd.Parameters.AddWithValue("@SearchText", prefixText);
            cmd.Connection = conn;
            StringBuilder sb = new StringBuilder(); 
            conn.Open();
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                while (sdr.Read())
                {
                    sb.Append(sdr["NUID"].ToString() + " ").Append(sdr["FNAME"].ToString() + " ").Append(sdr["LNAME"].ToString() + " ")
                        .Append(Environment.NewLine); 

                }
            }
            conn.Close();
            context.Response.Write(sb.ToString()); 
        }
    }
}

public bool IsReusable {
    get {
        return false;
    }
}
}
4

1 回答 1

1

max不是Max

$("#<%=txtSearch.ClientID%>").autocomplete('Autocomplete/Search_CS.ashx', {width: 400, multiple: false, matchContains: true, delay: 200, max: 20 });
于 2012-08-03T19:08:05.930 回答