0
我有一個動態數據網站,我嘗試使用AutoCompleteExtender添加文本框。我已經宣佈了控制,像這樣使用不帶web服務的自動完成擴展程序
<asp:TextBox ID="tbTerm" runat="server" Width="300px"/>
<asp:AutoCompleteExtender runat="server"
id="autoCompleteExtenderTerms"
TargetControlID="tbTerm"
ServiceMethod="GetCompletionList"
UseContextKey="True">
</asp:AutoCompleteExtender>
而且在該網頁上的代碼隱藏我已經聲明,像這樣
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static List<string> GetCompletionList(string prefixText, int count)
{
using (ProductDataEntities context = new ProductDataEntities())
{
var terms = (from t in context.Terms
where t.Name.StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase)
select t.Name).ToList();
return terms;
}
}
目前這種方法不獲取調用的Web方法,這不是一個forgien關鍵列,所以我不能使用標準過濾器。
我已經確保在ScriptManager上設置了EnablePageMethods =「true」,並且我不知道爲什麼這個方法沒有從頁面被觸發。控件沒有被包裝在更新面板中沒有其他的東西突出對我來說。
爲自己的頁面背後的代碼設置一個服務路徑? – Siegeon
是的,像'〜/ pathToPage/MyPage.aspx' –
拍,沒有骰子。嘗試〜/ DynamicData/CustomPages/Terms/List.aspx,〜/ DynamicData/CustomPages/Terms/List.aspx.cs,/DynamicData/CustomPages/Terms/List.aspx,/DynamicData/CustomPages/Terms/List.aspx.cs – Siegeon