使用AJAX1.0實現自動完成功能

使用AJAX1.0實現自動完成功能
下午 04:56 2011/2/14

一、準備web service
1、添加web service 文件
右擊“網站”-->添加新項目-->選擇Web 服務。web service 的 code 文件放在App_Code中,命名為GetPNService.cs。
2、加入namespace。 using System.Web.Script.Services;
3、加入標記。[ScriptService]
4、編寫方法。給方法添加標記——[WebMethod]。方法修飾為public。
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class GetPNService : System.Web.Services.WebService
{
    public GetPNService()
    {
        //如果使用設計的元件,請取消註解下行程式碼
        //InitializeComponent();
    }
    [WebMethod]
    public string[] GetPNList(string prefixText, int count, string contextKey)
    {
        DataTable dt = null;
        if (count == 0)
        {
            count = 20;
        }
        List<string> pnList = new List<string>(count);
        dt = ERPMateria.GetPNList(contextKey.ToUpper(), prefixText.ToUpper(), count);
        if (dt != null)
        {
            foreach (DataRow row in dt.Rows)
            {
                pnList.Add(row["pn"].ToString());
            }
        }
        return pnList.ToArray();
    }
}

二、添加AutoCompleteExtender,屬性設置如下。
        <ajaxToolkit:AutoCompleteExtender
        ID="AutoCompleteExtender4"
        runat="server"
        TargetControlID="txtInfoMaterialNo"
        ServiceMethod="GetPNList"
     ServicePath="GetPNService.asmx"
        UseContextKey="true"
        MinimumPrefixLength="2"
        EnableCaching="false"
        CompletionSetCount="20"
        CompletionInterval="1000"
        BehaviorID="autoCompleteBehavior4" />
  
三、編寫UseContextKey
因為上面UseContextKey="true"。
protected void Page_Load()
{
this.AutoCompleteExtender4.ContextKey = this.ddlSearchPlant.SelectedItem.Text;
}

四、注意
1、編寫webservices時,加入 System.Web.Script.Services 和 [ScriptService] ,否則前端調用不了webservices的方法。
2、基礎不扎實,原理不清楚,浪費腦細胞和時間。

转载于:https://www.cnblogs.com/htht66/archive/2011/02/14/1954516.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值