【问题标题】:values doesn't appears in autocomplete textbox值不会出现在自动完成文本框中
【发布时间】:2015-09-09 12:29:36
【问题描述】:

我有这个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"}]

在调试中一切都OK 在我的 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。控制台没有错误

【问题讨论】:

  • 能否包含文本框控件呈现到的 html?
  • 您是否尝试将源设置为/ContactsHandler.ashx
  • 我已经通过 post 请求它并且它有效.. 但我不知道为什么
  • 确保您的 jquery-UI 选择了自动完成功能,并将 jquery-UI 的图像文件夹添加到您的解决方案中

标签: c# jquery asp.net jquery-ui autocomplete


【解决方案1】:

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

您正在使用查询字符串参数来发送术语的值,如果我没记错的话,context.Request 会读取正文,而不是查询字符串。试试这个:

context.Request.QueryString["term"]获取term的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 2011-04-18
    • 2010-09-22
    相关资源
    最近更新 更多