首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoCompleteExtender不显示结果

AutoCompleteExtender不显示结果
EN

Stack Overflow用户
提问于 2012-07-03 19:21:07
回答 1查看 3.7K关注 0票数 0

我想使用AjaxToolkit AutoCompleteExtender。我的WebService被触发,如果我在返回的值上放置一个断点,我可以看到数据正在返回。但是,AutoCompleteExtender没有显示结果。

我读过这个堆栈溢出线程:AutoCompleteExtender is firing, webservice is returning results, but these are not being displayed

但是,这个答案并不能解决我的问题。

这是我的密码:

ASPX

代码语言:javascript
复制
<asp:ToolkitScriptManager ID="asm" runat="server" EnablePageMethods="true" EnablePartialRendering="true"></asp:ToolkitScriptManager>
<asp:UpdatePanel ID="upApprovedBy" runat="server">
    <ContentTemplate>
        <asp:TextBox id="txtApprovedBy" runat="server" AutoComplete="Off"></asp:TextBox>
        <asp:AutoCompleteExtender 
            runat="server" 
            ID="ac_txtApprovedBy"  
            CompletionInterval="500"
            TargetControlID="txtApprovedBy"
            ServiceMethod="SearchWinUsers"
            CompletionSetCount="20"                                                                                                                         
            MinimumPrefixLength="2" 
        >
        </asp:AutoCompleteExtender>
    </ContentTemplate>
</asp:UpdatePanel>

ASPX.CS

代码语言:javascript
复制
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static string[] SearchWinUsers(string prefixText, int count)
{
    logic common = new logic();
    string[] SelectedApprovers = new string[0];
    try
    {
        DataTable dt = new DataTable();
        string sql = "SELECT TOP(" + count + ") FirstName + ' ' + LastName AS DisplayName FROM USERSTABLENAME WHERE (IsDeActivated = 0) AND ((FirstName LIKE '%" + prefixText + "%') OR (LastName LIKE '%" + prefixText + "%')) ORDER BY FirstName";
        dt = common.getDataTable(sql);
        SelectedApprovers = new string[dt.Rows.Count];
        int i = 0;
        foreach (DataRow dr in dt.Rows)
        {
            SelectedApprovers.SetValue(dr["DisplayName"].ToString(), i);
            i++;
        }
        dt.Dispose();
    }
    catch (Exception ex)
    {
        common.alert("Error in page.location.<br>ERROR=" + ex.Message);
    }

    return SelectedApprovers;
}

如有任何建议,将不胜感激!

我应该指出,我的ASPX代码片段生活在这个层次结构中:页面> TabContainer > TabPanel > FormView >此代码就在这里。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-03 21:04:56

终于成功了!

我将webservice从*.ASPX.CS转移到了*.ASMX。

解决了我的问题。

如果您有同样的问题,请查看本教程。它让我朝着正确的方向前进!

http://www.codeproject.com/Articles/201099/AutoComplete-With-DataBase-and-AjaxControlToolkit#

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11317727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档