我有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));
当我在这里提出要求时
它返回我期望的
[{ “ID”:1, “名称”: “测试”, “移动”: “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。控制台
中没有错误答案 0 :(得分:0)
这可能与context.Request["term"]
有关 - 我猜这是空的还是什么?
您正在使用查询字符串参数来发送term的值,如果我没记错的话,context.Request会读取正文 - 而不是查询字符串。试试这个:
context.Request.QueryString["term"]
获取term的值。