2015-06-23 36 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"]得到期限的價值。