0
這一直困擾着我幾天。我試圖在SharePoint 2010的Visual Web Part項目中使用AutoCompleteExtender,但是當我鍵入字符時,什麼也沒有發生。起初我認爲這是一個Ajax問題,所以我使用了TextBoxWatermarkExtender,它起作用,所以它不能是一個Ajax的東西。AutoCompleteExtender不能在Sharepoint 2010中工作
我跟着這個傢伙的指南逐字: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;
}
}
}
任何幫助,將不勝感激。我正在和另外一個人一起工作,我們對於爲什麼不工作感到困惑。
您是否在web.config中添加了SafeControl條目?你有沒有得到任何錯誤信息(檢查SP日誌,Windows事件日誌,iis日誌等)? – int32
安全控件存在,我在共享點日誌中看到一個失敗。它說:07/28/2011 12:32:00.67 \t w3wp.exe(0x1008)\t 0x2308 \t SharePoint Foundation \t常規\t 8kh7 \t高\t無法完成此操作。請再試一次。 \t c6478033-527f-4617-99e0-cf30b384d916。如果是這樣的話,不是很有幫助。我不知道這是否會拋出它,日誌每次在綁定到自動填充擴展器的文本字段中輸入內容時會添加約25個新行。 – dserver
好吧,就像你所說的那樣,錯誤並沒有真正告訴我們很多......從我所知道的,你必須引用SharePoint MasterPage中的AjaxControlKit dll(你應該能夠找到一些例子谷歌) - 但我不太確定,因爲我從未在我的解決方案中使用過Ajax ......也許其他人可以給你更多提示 – int32