我想使用AjaxToolkit AutoCompleteExtender。我的WebService被觸發,如果我在返回的值上放置一個斷點,我可以看到有數據被返回。但是,AutoCompleteExtender不顯示結果。AutoCompleteExtender不顯示結果
我讀過這個計算器線程:AutoCompleteExtender is firing, webservice is returning results, but these are not being displayed
但是,這個問題的答案並沒有解決我遇到的問題。
這裏是我的代碼:
ASPX
<asp:ToolkitScriptManager ID="asm" runat="server" EnablePageMethods="true" EnablePartialRendering="true"></asp:ToolkitScriptManager>
<asp:UpdatePanel ID="upApprovedBy" runat="server">
<ContentTemplate>
<asp:TextBox id="txtApprovedBy" runat="server" AutoComplete="Off"></asp:TextBox>
<asp:AutoCompleteExtender
runat="server"
ID="ac_txtApprovedBy"
CompletionInterval="500"
TargetControlID="txtApprovedBy"
ServiceMethod="SearchWinUsers"
CompletionSetCount="20"
MinimumPrefixLength="2"
>
</asp:AutoCompleteExtender>
</ContentTemplate>
</asp:UpdatePanel>
ASPX.CS
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static string[] SearchWinUsers(string prefixText, int count)
{
logic common = new logic();
string[] SelectedApprovers = new string[0];
try
{
DataTable dt = new DataTable();
string sql = "SELECT TOP(" + count + ") FirstName + ' ' + LastName AS DisplayName FROM USERSTABLENAME WHERE (IsDeActivated = 0) AND ((FirstName LIKE '%" + prefixText + "%') OR (LastName LIKE '%" + prefixText + "%')) ORDER BY FirstName";
dt = common.getDataTable(sql);
SelectedApprovers = new string[dt.Rows.Count];
int i = 0;
foreach (DataRow dr in dt.Rows)
{
SelectedApprovers.SetValue(dr["DisplayName"].ToString(), i);
i++;
}
dt.Dispose();
}
catch (Exception ex)
{
common.alert("Error in page.location.<br>ERROR=" + ex.Message);
}
return SelectedApprovers;
}
任何建議,將不勝感激!
我要指出,在我的ASPX代碼片段生命,在這個層次:首頁> TabContainer的>的TabPanel> FormView控件>此代碼是住在這裏
你試過從周圍的'AutoCompleteExtender'取出'UpdatePanel'?你不需要這樣做Extender異步。 – jadarnel27
我刪除了UpdatePanel。同樣的結果。 WebService被調用。 SelectedApprovers在代碼的返回行中包含數據。前端仍然沒有顯示任何內容。無論如何謝謝jadarnel27。 – s15199d
沒問題,我估計值得一試。 – jadarnel27