【发布时间】:2013-04-16 03:50:50
【问题描述】:
我试图在我的表示层中实现自动完成扩展器,而不使用 Web 服务。我有这样的代码。
但是,我不知道我哪里出错了,但无法调用我代码后面的 web 方法。我也在我的脚本管理器中启用了 pagemethods。
而且我也没有更新面板。
<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;
}
提前致谢。
【问题讨论】:
-
你说你没有使用网络服务。 GetData 因此是页面类上的一种方法吗?
-
是的,它是我页面类中的一个方法。我正在使用这些命名空间,但仍然无法调用它 [System.Web.Script.Services.ScriptMethod()] [System.Web.Services.WebMethod ]
-
Yuriy 下面的回答将解决您的问题。 ScriptMethodAttribute 装饰器是无关的。