值不';t出现在自动完成文本框中

本文关键字:文本 值不 | 更新日期: 2023-09-27 17:59:27

我有这个ashx:

string name = context.Request["term"] ?? "";
            string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
            List<MobilineContact> mbContacts = new List<MobilineContact>();
            MobilineContact mbc = new MobilineContact();
            using (SqlConnection con = new SqlConnection(cs))
            {
                SqlCommand cmd = new SqlCommand("spGetContactNames", con);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter()
                {
                    ParameterName = "@name",
                    Value = name
                });
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    mbc.Id = int.Parse(rdr["Id"].ToString());
                    mbc.Name = rdr["ContactName"].ToString();
                    mbc.Mobile = rdr["ContactNumber"].ToString();
                    mbContacts.Add(mbc);
                }
            }
            JavaScriptSerializer js = new JavaScriptSerializer();
            context.Response.Write(js.Serialize(mbContacts));

当我在这里请求时,

http://localhost:43969/ContactsHandler.ashx?term=t

它返回我所期望的

[{"Id":1,"Name":"Test","Mobile":"555555555"}]

并且在调试过程中一切正常在我的aspx页面中,我写下了以下内容:

$(document).ready(function () {
   $('.toTxt').autocomplete({
     source: 'ContactsHandler.ashx'
   });
});

这是我的文本框:

<asp:TextBox class="form-control toTxt" ID="To" placeholder="To" runat="server"></asp:TextBox>

为什么我的值没有以自动完成的形式出现在文本框中?我引用了jquery、jquery.ui.js和jquery.ui.css。控制台中没有错误

值不';t出现在自动完成文本框中

这可能与context.Request["term"]有关——我猜结果是null还是什么?

您正在使用一个查询字符串参数来发送term的值,如果我没记错的话,还有context。请求读取的是正文,而不是查询字符串。试试这个:

CCD_ 3得到项的值。