AutoCompleteExtender는 TextBox와 함께 사용하면 Google에서 검색어를 입력하는 것과 유사한 기능을 하며 TextBox 아래에 드롭다운 상자가 나타나 검색 대상의 항목을 표시합니다.
이 확장 컨트롤을 사용해야 합니다. Web Service와 연동되므로 Web Service의 사용이 포함됩니다. (여기서는 간략하게만 설명하고 웹 서비스의 내용은 익숙해진 후에 자세히 설명하겠습니다.)
먼저 소개합니다. AutoCompleteExtender의 몇 가지 주요 속성:
a, TargetControlID 이 속성은 확장 프로그램인 모든 AjaxControlToolkit의 공통 속성입니다. (공식적으로는 이렇게 말했습니다.)
b.CompletionSetCount 이 속성은 표시할 드롭다운 결과 수입니다. 기본값은 10입니다.
c.MinimumPrefixTextLength 이 속성은 몇 자의 길이를 설정하고 webService를 호출하는 것입니다.
d.ServicePath e.ServiceMethod 이 속성은 호출해야 하는 웹 서비스의 경로를 설정합니다.
이 속성은 호출해야 하는 웹 서비스의 메서드(함수)를 설정합니다.
f.EnableCaching: 클라이언트에 있는지 여부 마지막에 데이터를 캐시하며 기본값은 true
g.CompletionInterval: 서버에서 데이터를 읽는 시간 간격, 기본값은 1000, 단위: 밀리초
참고: 시각적 컨트롤을 사용하여 속성을 설정하는 데 익숙하다면 , a 속성은 AutoCompleteExtender에 있습니다. TargetControlId를 설정한 후 해당 TargetControl의 Extenders 속성에 다른 속성이 설정됩니다. 코드 필기에 익숙하다면 AutoCompleteExtender 코드 속성에 설정하세요.
예: 1. 새 페이지를 만들고 ScriptManager 컨트롤, TextBox 컨트롤 및 AutoCompleteExtender 컨트롤을 추가합니다.
2. 새 webService를 만들고 [WebMethod] 메서드를 추가합니다.
[WebMethod]
public string[] GetString(string prefixText, int count){
System.Collections.Generic.List list = new System.Collections.Generic.List(count)
System.Data.DataSet ds = new System.Data.DataSet(); 🎜>//저는 데이터베이스에서 데이터를 가져오기 위한 코드입니다. SqlHelper 클래스는 프로젝트
에서 데이터를 가져오기 위한 기본 클래스입니다.//string strSql = string.Format("SELECT TOP {0} NAME FROM CengWei WHERE NAME LIKE '{1}%' ORDER BY NAME",count,prefixText);
//ds = SqlHelper.Query(strSql);
//for (int i = 0; i < ds.Tables [0].Rows.Count; i )
//{
// list.Add(ds.Tables[0].Rows[i][0].ToString())// }
for (int i = 0 ; i < count; i )
{
list.Add(prefixText i.ToString())
}
return list.ToArray() ;
}
그 중:
[System.Web.Script.Services.ScriptService]를 webService 클래스에 추가해야 합니다.
샘플 코드: webService는 필드에서 데이터를 가져옵니다. 데이터베이스
페이지 코드:
<%@ Page Language="C#" AutoEventWireup= "true" CodeFile="test2.aspx.cs" Inherits="test2" %>
<%@ Register Assembly="CrystalDecisions.Web, 버전=10.2 .3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix=" cc1" %>
DropDownExtender 간단한 연습 < link href="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/css/default.css"
rel="stylesheet" type="text/css" /> >
/본문>
webService 코드:
System.Web 사용;
System.Collections 사용;
System.Web.Services.Protocols 사용;
///
/// 자동 완성 요약 설명
/// ]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//다음이 필요합니다. 그렇지 않으면 함수를 구현할 수 없습니다.
[System.Web.Script.Services.ScriptService]
공용 클래스 AutoComplete : System .Web.Services.WebService {
public AutoComplete () {
//설계된 구성 요소를 사용하는 경우 다음 줄의 주석 처리를 해제하세요
//InitializeComponent()
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
[WebMethod]
public string[] GetString(string prefixText, int count){
System.Collections . Generic.List
list = new System.Collections.Generic.List(count)
System.Data.DataSet ds = new System.Data.DataSet()//여기는 내 것입니다. 데이터베이스에서 데이터를 가져오기 위한 코드입니다. SqlHelper 클래스는 프로젝트
//string strSql = string.Format("SELECT TOP {0} NAME FROM CengWei WHERE NAME LIKE '{1}% ' ORDER BY NAME",count,prefixText);
//ds = SqlHelper.Query(strSql);
//for (int i = 0; i < ds.Tables[0].Rows.Count ; i )
//{
// list.Add(ds.Tables[0].Rows[i][0].ToString())
//}
for (int i = 0; i )
{
list.Add(prefixText i.ToString())
return list.ToArray()
}
잘못된 점 있으면 말씀해주세요