2012-12-18 4 views
1

성, 이름, 고유 ID 텍스트 상자에 AutoCompleteExtender가 있습니다.AutoCompleteExtender - 사용자가 반환 된 목록에서만 선택할 수 있도록합니다. - ASP.NET

사용자가 고유 한 ID 번호를 입력하지 않고 목록에서 항목을 선택할 수 있도록하고 싶습니다. 사용할 데이터베이스가 너무 커서 AJAX ComboBox를 사용할 수 없으며 AutoCompleteExtender는 대형 데이터베이스에서 사용하는 것이 가장 좋습니다.

어떻게하면이 아이디어를 얻을 수 있습니까? 이 시점에서 Javascript가 가장 좋습니다. 난 뒤에 코드에서 그것을하지 않으려는 것입니다. 나는 이것에 대한 한 가지 예를 발견했습니다. onclur = "checkItemSelected (this)"를 사용하여 일부 자바 스크립트를 사용해 보았습니다. 그러나이 페이지는 많은 사용자가 입력하도록 설계 되었기 때문에 문제는 이미 onclientclick = "경고 ('데이터가 저장되었습니다!')입니다. 같은 화면에서 이름을 사용하면 협조가되지 않습니다.

도움을 주셔서 대단히 감사드립니다.

+0

어떻게 당신이 ID 상자를 채우는거야? 선택 상자를 사용할 수없는 이유는 무엇입니까? 당신이 그것을 입력 할 수 없다면 텍스트 상자가있는 지점은 무엇입니까? 다른 입력 필드의 값을 기반으로 채우는 경우 다른 컨트롤을 고려해야합니다. –

답변

0

AutoCompleteExtender를 사용하고있는 텍스트 상자에서 Javascript onBlur를 사용하는 것이 가장 효과적이었습니다. 여기

코드입니다 :

VAR isItemSelected = 거짓;

//Handler for AutoCompleter OnClientItemSelected event 
    function onItemSelected() { 
     isItemSelected = true; 
    } 

    //Handler for textbox blur event 
    function checkItemSelected(myTextBox) { 
     if (!isItemSelected) { 
      alert("Please select item from the list only!"); 
      myTextBox.focus(); 
     } 
     else { 
      //reset isItemSelected 
      isItemSelected = false; 
     } 
    } 

그리고는 텍스트 상자에이 던져 :

에 onblur = "checkItemSelected (이)"