0
包括AutoCompleteExtender不調用ServiceMethod
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
我的ASPX代碼
<asp:TextBox ID="txtSearchKey" runat="server" Width="200" AutoPostBack="true" OnTextChanged="txtSearchKey_TextChanged" />
<asp:TextBoxWatermarkExtender ID="weSearchKey" runat="server" Enabled="True" TargetControlID="txtSearchKey" WatermarkText="Enter search criteria" WatermarkCssClass="watermark" />
<asp:AutoCompleteExtender ServiceMethod="SearchOnboardingMembers" MinimumPrefixLength="3" CompletionInterval="100" EnableCaching="false" CompletionSetCount="10" TargetControlID="txtSearchKey" ID="onboardingSearchExtender" runat="server" FirstRowSelected="false" OnClientItemSelected="GetSelectedId" CompletionListCssClass="completionList" CompletionListItemCssClass="listItem" CompletionListHighlightedItemCssClass="itemHighlighted" CompletionListElementID="divCompletionListElement" />
我的後端代碼
[ScriptMethod()]
[WebMethod]
public static List<string> SearchOnboardingMembers(string prefixText, int count)
{
var filteredSearchText = String.Join(",", prefixText.Split(' ').Where(x => x.Length > 2));
//my code
return items;
}
此代碼工作正常的網頁上,我需要同樣的功能在不同的頁面上。我只是將粘貼的HTML和後端代碼複製到新的ASPX文件中。但是,奇怪的是它不能在那個頁面上工作。當我的意思是不工作時,WebMethod不會在此頁面上調用。我們有什麼方法可以在這裏調試問題嗎?當我輸入文本框但沒有調用WebMethod時,我沒有看到任何錯誤或警告。感謝您的任何建議
您是否嘗試在瀏覽器中直接調用您的服務方法?類似於「MyPage.aspx/SearchOnboardingMembers」。 或者將它放在一個單獨的.asmx文件中,並嘗試打開'MyService.asmx',檢查它的方法,在瀏覽器中調用它,然後檢查瀏覽器調試網絡選項卡以確保您使用正確的路徑調用它。 –