體驗AJAX Toolkit新控制項:AutoCompleteExtender

來源:互聯網
上載者:User

  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 runat="server" ID="ScriptManager1" />
        <ajaxToolkit:AutoCompleteExtender 
            ID="AutoCompleteExtender1" 
            runat="server"
            ServicePath="AutoComplete.asmx"
            TargetControlID="TextBox1" 
            ServiceMethod="GetTextString">
        </ajaxToolkit:AutoCompleteExtender>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </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]
    public string[] GetTextString(string prefixText, int count)
    {
        string[] strArray = new string[count];

        for (int i = 0; i < count; i++)
        {
            strArray[i] = prefixText + i.ToString();
        }

        return strArray;
    }
}

  在這裡需要注意以下幾點:
   1.由於該WEB服務是為Ajax架構提供服務的,因此在類聲明之前得加上屬性聲明:
     [System.Web.Script.Services.ScriptService]
   2.特別需要注意的是GetTextString這個方法。凡是為AutoCompleteExtender控制項提供服務的方法都必需完全滿足以下三個條件:
     A.方法的傳回型別必需為:string [];
     B.方法的傳入參數類型必需為:string  ,   int;
     C.兩個傳入參數名必需為:prefixText  ,  count。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.