0

这几天一直困扰着我。我正在尝试在 Sharepoint 2010 的 Visual Web 部件项目中使用 AutoCompleteExtender,但是当我输入字符时没有任何反应。起初我认为这是一个 Ajax 问题,所以我使用了 TextBoxWatermarkExtender 并且它有效,所以它一定不是 ajax 问题。

我按照这个人的指南逐字:http ://ranaictiu-technicalblog.blogspot.com/2010/08/ajax-control-toolkit-with-sharepoint.html

这是我的 ascx:

<%@ Register Assembly="AjaxControlToolkit, Version=3.0.30930.28736, Culture=neutral,         PublicKeyToken=28f01b0e84b6d53e"
Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<cc1:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" runat="server"
 TargetControlID="TextBox1"
  WatermarkText="I'm awesome">
</cc1:TextBoxWatermarkExtender>

<cc1:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server"
TargetControlID="TextBox1" ServiceMethod="GetCompletionList">
</cc1:AutoCompleteExtender>

这是我的代码隐藏:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace TestingAjax2.TestingAjax2
{

    public partial class TestingAjax2UserControl : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        [System.Web.Services.WebMethod]
        [System.Web.Script.Services.ScriptMethod]
        public string[] GetCompletionList(string prefixText, int count)
        {
            string[] n = { "banana", "orange", "apple", "tunafish" };
            return n;
        }

    }
}

任何帮助,将不胜感激。我正在和另一个人一起工作,我们都对为什么它不起作用感到完全困惑。

4

1 回答 1

1

您不能直接在用户控件中托管 Scriptservice 方法,只能在页面中托管。

于 2011-09-01T10:20:37.370 回答