您的位置:首页 > 其它

AutoCompleteExtender需要注意的问题(参数类型,参数名称,返回值类型)

2013-07-22 11:30 381 查看
 在这里需要注意以下几点:

   1.由于该WEB服务是为Ajax框架提供服务的,因此在类声明之前得加上属性声明:

     [System.Web.Script.Services.ScriptService]

   2.特别需要注意的是GetTextString这个方法。凡是为AutoCompleteExtender控件提供服务的方法都必需完全满足以下三个条件:

     A.方法的返回类型必需为:string [];

     B.方法的传入参数类型必需为:string , int;

     C.两个传入参数名必需为:prefixText , count。

AutoCompleteExtender控件,固名思义就是可以辅助TextBox控件自动输入,实现如http://dict.yodao.com/这样的效果。

  AutoCompleteExtender控件的属性:

   1.TargetControlID:指定将被辅助完成自动输入的控件ID,这里的控件只能是TextBox;

   2.ServicePath:指出提供服务的WEB服务路径,若不指出则ServiceMethod表示本页面对应的方法名;

   3.ServiceMethod:指出提供服务的方法名;

   4.MinimumPrefixLength:指出开始提供提示服务时,TextBox控件应有的最小字符数,默认为3;

   5.CompletionSetCount:显示的条数,默认为10;

   6.EnableCaching:是否在客户端缓存数据,默认为true;

   7.CompletionInterval:从服务器读取数据的时间间隔,默认为1000,单位:毫秒。
  ASPX页面代码: <body>

<form id="form1" runat="server">

<asp:ScriptManager ID="ScriptManager1" runat="server">

<Services>

<asp:ServiceReference Path="~/admin/aService.asmx" />

</Services>

</asp:ScriptManager>

<br />

<asp:TextBox ID="tbxName" Width="300px" runat="server"></asp:TextBox>

<asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="tbxName"

ServicePath="~/admin/aService.asmx"
ServiceMethod="getName"
MinimumPrefixLength="1" CompletionSetCount="5"

EnableCaching="true">

</asp:AutoCompleteExtender>

</form>

</body>

  WebServcie-AutoComplete.cs代码: using System;

using System.Web;

using System.Collections;

using System.Web.Services;

using System.Web.Services.Protocols;

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.Web.Script.Services.ScriptService]

public class AutoComplete : System.Web.Services.WebService {

public AutoComplete () {

}

[WebMethod]

[WebMethod]

public string[] getName(string prefixText, int count)

{

return userMan.getName(prefixText, count);

}

} 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐