1

私はasp.netとc#.netのテキストボックスでajax auto completeextenderを作業していました。選択するリストを取得できません。適切な Web サービス メソッドが呼び出されています。オートモを完全に完了する方法を教えてもらえますか。宣言する

これは私が使用しているタグです

the ajax part

    <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"  TargetControlID="txtUsername"  MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="1" CompletionInterval="1000" ServiceMethod="GetCountries" >
 </asp:AutoCompleteExtender>
</div>

コードビハインド

[System.Web.Services.WebMethod]
public static List<string> GetCountries(string strUserName, int count)
{


    SqlConnection scon = new SqlConnection(ConfigurationManager.ConnectionStrings["ConStr"].ToString());
    scon.Open();
    SqlCommand scmd = new SqlCommand("select * from UserInformation where UserName like @Username+'%'", scon);
    scmd.Parameters.AddWithValue("@Username", strUserName);
    SqlDataAdapter sda = new SqlDataAdapter(scmd);
    DataTable dt = new DataTable();
    sda.Fill(dt);
    List<string> UserNames = new List<string>();
    for (int i = 0; i < dt.Rows.Count; i++)
    {

        UserNames.Add(dt.Rows[i][1].ToString());
    }


    return UserNames;
}
4

1 に答える 1

0

タグ内のASPXコード。GetCur:asmxファイルで指定された名前。

$("#<%=txtSearch.ClientID %>").autocomplete({
        source: function(request, response) {
            $.ajax({
                 url: '<%=ResolveUrl("~/WebService.asmx/GetCur") %>',
                data: "{ 'prefixText': '" + request.term + "'}",
                dataType: "json",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                success: function(data) {
                    response($.map(data.d, function(item) {
                        return {
                            label: item,
                            val: item
                        }
                    }))
                },
                error: function(response) {
                    alert(response.responseText);
                },
                failure: function(response) {
                    alert(response.responseText);
                }
            });
        },
    });
});
于 2012-11-26T11:34:10.803 に答える