【问题标题】:Using an AutoComplete Extender without webservice在没有 web 服务的情况下使用自动完成扩展器
【发布时间】:2012-08-29 22:31:13
【问题描述】:

我有一个动态数据网站,我试图在其中添加一个带有 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",但我不知道为什么没有从页面中触发此方法。控件未包含在更新面板中,没有其他突出之处我对此。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    设置ServicePath属性值。

    【讨论】:

    • 射击,没有骰子。试过~/DynamicData/CustomPages/Terms/List.aspx、~/DynamicData/CustomPages/Terms/List.aspx.cs、/DynamicData/CustomPages/Terms/List.aspx、/DynamicData/CustomPages/Terms/List.aspx.cs
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2012-04-05
    • 1970-01-01
    相关资源
    最近更新 更多