.net C#ajax工具包自动完成无法正常工作

时间:2012-07-24 07:16:36

标签: c# autocomplete

[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()]
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
    string sql = "SELECT Firstname, Lastname FROM [Patient] Where Firstname like @prefixText or Lastname like @prefixText2";
    SqlDataAdapter da = new SqlDataAdapter(sql, ConfigurationManager.ConnectionStrings["healthcareConnectionString1"].ToString());
    da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 50).Value = "%" + prefixText + "%";
    da.SelectCommand.Parameters.Add("@prefixText2", SqlDbType.VarChar, 50).Value = "%" + prefixText + "%";
    DataTable dt = new DataTable();
    da.Fill(dt);
    string[] items = new string[dt.Rows.Count];
    int i = 0;
    foreach (DataRow dr in dt.Rows)
    {
        items.SetValue(dr["Firstname"].ToString() + " " + dr["Lastname"].ToString(), i);
        i++;
    }
    return items;
}

在Default.aspx中

<asp:ToolkitScriptManager 
        ID="ToolkitScriptManager1" runat="server" EnablePageMethods="true">
<asp:TextBox ID="TextBox1" runat="server" Width="199px"></asp:TextBox>
<asp:AutoCompleteExtender ID="AutoCompleteExtender1" TargetControlID="TextBox1" 
        runat="server" ServiceMethod="GetCompletionList" ServicePath="WebService.asmx" MinimumPrefixLength="1"   UseContextKey="True">
</asp:AutoCompleteExtender>

我使用上面的代码进行自动完成,但是不会出现建议的数据没有出现。我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

你的自动完成扩展程序控件看起来很好,虽然我没有使用它(我已经使用了<cc1:AutoCompleteExtender>在我的项目中使用了gr8)。 另外,服务方法也行。 只需检查您是否按照正确的步骤添加它的参考..