• 使用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、基礎不扎實,原理不清楚,浪費腦細胞和時間。

  • 相关阅读:
    【原创】【1】rich editor系列教程。前期准备,兼容
    html5 video,audio控制播放多次,请求/监测全屏状态
    javascript中的位运算,
    温习classList api
    Fiddler常用功能总结
    小程序测试点总结
    Pycharm使用git版本控制
    python 运行当前目录下的所有文件
    MySQL查询count(*)、count(1)、count(field)的区别收集
    python 操作redis,存取为字节格式,避免转码加
  • 原文地址:https://www.cnblogs.com/htht66/p/1954516.html
Copyright © 2020-2023  润新知