2010-03-03 1 views
4

asp.net C# 2008을 사용하고 있는데 드롭 다운 값 (Google 검색과 유사)을 표시 할 검색 텍스트 상자를 만들어야합니다. 드롭 다운에 표시되는 값은 SQL 2005 데이터베이스의 값입니다 (예 : 사용자가 FirstName에서 검색하는 경우 드롭 다운에 모든 첫 번째 이름이 표시되고 사용자가 더 많은 문자를 입력 할 때 필터링 됨 ...). 사용자가 검색하는 경우 성, 드롭 다운은 데이터베이스의 모든 성 (LastName) 값을 표시합니다.)사용자가 검색 할 때 드롭 다운 상자처럼 Google

이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

답변

7

텍스트 상자의 자동 완성 동작을 찾고 있습니다. 준비된 jQuery 플러그인 솔루션을 사용하는 것이 좋습니다.

http://docs.jquery.com/Plugins/Autocomplete

+1

이것은이 인스턴스에 사용 된 솔루션입니다. 클라이언트에서 JSON 객체 목록을 반환하는 C# 백 엔드를 사용했습니다. +1 –

0

자바 스크립트는 당신의 대답이다. 키 스트로크 후 약 150ms 후에 웹 사이트에 일치하는 값을 요청하십시오. 사용자가 다른 문자를 입력하면 그냥 버릴 준비를하십시오. 모든 키 입력 후 응답을 시도 할 때 가치가 거의 없습니다.

0

서버 컨트롤이 내장되어 있지 않습니다. 직접 구현해야합니다.

JQuery AutoComplete 플러그를보고 Ajax 콜백으로 구현하십시오.

1

이것은 ASP.NET의 특정 솔루션입니다. Microsoft는 Ajax Control Toolkit (자동 완성 컨트롤)에서이를 구현했습니다. 여기서 일하고 예 :

http://www.asp.net/AJAX/AjaxControlToolkit/Samples/AutoComplete/AutoComplete.aspx

하지만, 그냥 맹목적으로 컨트롤을 사용하지 않습니다 (Ajax 호출을 사용하여)는 내부 작동 방법을 알고 있어야합니다.

+0

위 링크에서 아약스 컨트롤은 꽤 느립니다 (Google 웹 사이트와 비교). – user279521

+0

그 이유는 거의 없습니다. Ajax Control Toolkit에는 일정한 오버 헤드가 있으므로 MS 코드가 느려서 사용하기 쉽다는 장점이 있습니다. 또한 속도는 서버 설정, 알고리즘, 캐싱 등에 따라 다릅니다. 첫 번째로 비교할 수는 없습니다. – Vitaly

2

AutoComplete control 인 경우 ASP.NET AJAX Control Toolkit의 구현을 확인하는 것이 좋습니다. 툴킷이 설치되면이를 사용하기 위해 표준 ASP WebForm TextBox 컨트롤을 확장 할 수 있습니다.