使用不带webservice的AutoComplete Extender

时间:2012-08-29 22:31:13

标签: asp.net

我有一个动态数据网站,我试图在其中添加一个带有AutoCompleteExtender的文本框。我已经宣布控件如此

<asp:TextBox ID="tbTerm" runat="server" Width="300px"/>
  <asp:AutoCompleteExtender runat="server"
       id="autoCompleteExtenderTerms"
       TargetControlID="tbTerm" 
       ServiceMethod="GetCompletionList" 
       UseContextKey="True">
  </asp:AutoCompleteExtender>

在该页面的代码隐藏中,我已经声明了这样的Web方法

[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static List<string> GetCompletionList(string prefixText, int count)
{
    using (ProductDataEntities context = new ProductDataEntities())
    {
        var terms = (from t in context.Terms
                     where t.Name.StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase)
                     select t.Name).ToList();

        return terms;
    }
}

目前这个方法没有被调用,这不是一个forgien键列,所以我不能使用标准过滤器。

我已经确保在ScriptManager上设置了EnablePageMethods =“true”,并且我没有想到为什么不从页面触发此方法的原因。控件未包含在更新面板中没有其他突出的内容我就这个。

1 个答案:

答案 0 :(得分:0)

设置ServicePath属性值。