2013-02-08 31 views
0

我想實現一個文本框從我們的數據庫使用從AJAX工具包的AutoCompleteExtender的數據實現自動完成功能。文本框和控件位於嵌套在aspx頁面上的用戶控件上(它有一個updatepanel);腳本管理器在母版頁上。AJAX Toolkit AutoCompleteExtender與PageMethod:401未授權錯誤

<asp:TextBox ID="txtTowelManufacturer" runat="server" Width="200px"></asp:TextBox> 
<ajaxToolkit:AutoCompleteExtender ID="txtTowelManufacturer_AutoCompleteExtender" 
    runat="server" MinimumPrefixLength="1" ServiceMethod="GetCompletionList" 
    TargetControlID="txtTowelManufacturer" UseContextKey="True"> 
</ajaxToolkit:AutoCompleteExtender> 

[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()] 
public static string[] GetCompletionList(string prefixText, int count, string contextKey) 
{ 
    ... 
} 

當我使用卡西尼號在我的dev的盒子運行的頁面,使用擴展生成,沒有進一步的調試信息401未經授權錯誤。該帖子是正確的,答覆是空的:

{"Message":"There was an error processing the request.","StackTrace":"","ExceptionType":""} 

如果我手動指定ServicePath直接或使用相對路徑,我會得到相同的錯誤。如果我指定了一個不正確的路徑,它會正確地生成一個404 Not Found錯誤,所以我知道它正在尋找正確的位置。

我一直無法弄清楚爲什麼我在這種情況下得到認證錯誤。我們沒有使用Windows身份驗證或跨越任何域名,而401問題已提出多次,沒有任何解決方案提供了許多工作,

任何潛在的嘗試,將不勝感激。

+0

哪個文件是GetCompletionList方法的定義? – 2013-02-08 15:40:32

+0

在同一頁面後面的代碼中,顯示了文本框和擴展程序。 – 2013-02-08 15:46:32

+1

嘗試將該方法從用戶控件的'ascx.cs'文件移動到頁面的'aspx.cs'文件。 – 2013-02-08 15:50:31

回答

1

嘗試將GetCompletionList()方法從用戶控件的ascx.cs文件移動到頁面的aspx.cs