我试图在我的表示层中实现自动完成扩展程序,而不使用Web服务。我有这样的代码。
但是,我不知道我哪里出错了,但无法调用我的代码中的web方法。我也在脚本管理器中启用了pagemethods为true。
我也没有更新面板。
<form id="form1" runat="server">
<ajax:ToolkitScriptManager ID="ScriptManager1" runat="server"/>
<div>
<asp:TextBox ID="txtdata" runat="server"></asp:TextBox>
<ajax:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txtdata"
MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="1" CompletionInterval="1000" ServiceMethod="GetData" >
</ajax:AutoCompleteExtender>
我的代码背后是
[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public List<string> GetData(string prefixText,int count)
{
//my code to get a list from DAL
return list;
}
提前致谢。
答案 0 :(得分:1)
GetData
方法必须是静态的。您可以在此处找到更多信息:Using jQuery to directly call ASP.NET AJAX page methods