我有一个动态数据网站,我试图在其中添加一个带有 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;
}
}
目前这个方法没有被调用,这不是一个伪造的键列,所以我不能为此使用标准过滤器。
我已确保在 ScriptManager 上设置了 EnablePageMethods="true" 并且我不知道为什么没有从页面中触发此方法。控制没有包含在更新面板中,对此我没有什么特别之处.