0
[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>

上記のコードを使用してオートコンプリートを実行しましたが、提案されたデータが表示されませんでした。私のコードに問題はありますか?

4

1 に答える 1

0

あなたのオートコンプリートエクステンダーコントロールはうまく見えますが、私はそれを使用していません(<cc1:AutoCompleteExtender>私のプロジェクトではgr8で動作するものを使用しました)。また、ServiceメソッドもOKです.参照を追加するための適切な手順に従っているかどうかを確認してください..

于 2012-07-24T07:28:10.123 に答える