2015-06-23 34 views
1

我有这样的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, “名称”: “测试”, “手机”: “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。在控制台中没有错误

+0

您可以包含文本框控件呈现的html吗? –

+0

您是否尝试将源设置为'/ ContactsHandler.ashx'? – simonlchilds

+0

我已经请求它与帖子,它的工作原理..但我不知道为什么 – gsiradze

回答

0

这可能与context.Request["term"]有关 - 我猜测出现为空或什么的?

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

context.Request.QueryString["term"]得到期限的价值。