Ajax Toolkit 控制項學習系列(6) ——AutoCompleteExtender 使用

來源:互聯網
上載者:User

  不知道大家是不是有注意到googel等搜尋引擎時候,輸入字母或者漢字的開頭,就會有後續的提示資訊呢。當然了,google所使用的技術,我不敢貿然的猜測,但是我們今天可以藉助Ajax所提供給大家個控制項,進行模仿。google的搜尋技術確實驚人,可以在提示的資訊中,在它的伺服器中,快速的搜尋出來短時間的找到需要的資訊。

  看效果。

  

  輸入wo之後,後續的3個隨即產生的提示。可以簡單模仿下效果。在這個例子中,建立一個Webservice進行示範。

  

    <div>
<asp:ScriptManager ID="sm" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="updatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="tb" runat="server" Text=""></asp:TextBox>
<ajax:AutoCompleteExtender ID="googleSa" runat="server" ServicePath="AutoComplete.asmx"
TargetControlID="tb" ServiceMethod="GetCompletionList">
</ajax:AutoCompleteExtender>
</ContentTemplate>
</asp:UpdatePanel>
</div>

 


  AutoCompleteExtender控制項的屬性:
   1.TargetControlID:指定將被輔助完成自動輸入的控制項ID,這裡的控制項只能是TextBox;
   2.ServicePath:指出提供服務的WEB服務路徑,若不指出則ServiceMethod表示本頁面對應的方法名;
   3.ServiceMethod:指出提供服務的方法名;
   4.MinimumPrefixLength:指出開始提供提示服務時,TextBox控制項應有的最小字元數,預設為3;
   5.CompletionSetCount:顯示的條數,預設為10;
   6.EnableCaching:是否在用戶端快取資料,預設為true;
   7.CompletionInterval:從伺服器讀取資料的時間間隔,預設為1000,單位:毫秒。

  使用的幾點注意事項。
   1.屬性聲明:
     [System.Web.Script.Services.ScriptService]
   2.方法的三個條件:需要嚴格遵守!
     傳回型別必需為:string [];
     參數類型必需為:string  ,   int;
     參數名:prefixText  ,  count。

Code
[System.Web.Script.Services.ScriptService()]
public class AutoComplete : System.Web.Services.WebService
{

[WebMethod]
public string[] GetCompletionList(string prefixText,int count)
{
if (count == 0)
{
count = 10;
}

if (prefixText.Equals("xyx"))
{
return new string[0];
}

List<string> items=new List<string>(count);
Random random1=new Random();
for(int i=0;i<count;i++)
{
char c1 = (char)random1.Next(65, 97);
char c2 = (char)random1.Next(97, 122);
char c3 = (char)random1.Next(97, 122);
items.Add(prefixText + c1 + c2 + c3);
}
return items.ToArray();
}
}

 

  •   參考文章:http://blog.chinaunix.net/u1/44087/showart_367198.html 
  •   參考文章:http://www.cnblogs.com/jailu/archive/2007/01/27/632201.aspx
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.