2012-01-10 2 views
2

다른 텍스트를 입력하는 동안 asp.net의 텍스트 상자를 채우는 방법 .. 한 텍스트 상자의 변경 내용은 다른 텍스트 상자 자동 및 없음에 영향을 미칩니다. 내 페이지 새로 고침.다른 텍스트 상자에 입력 한 텍스트에 따라 ASP.NET의 자동 채우기 텍스트 상자

+0

'OnTextChanged' 이벤트를 사용해 보셨습니까? _ 해봤습니까? – Shai

+0

이 프로젝트에서 jQuery를 사용하고 있습니까? –

+0

JavaScript를 사용해야합니다. 가장 쉬운 방법 - Claudio가 제안한 jQueyr. 이 방법은 3 줄의 코드입니다. – ub1k

답변

2

좋습니다. AJAX Control Toolkit이 필요합니다. Visual Studio에 설치하는 방법은 Installing AJAX Control Toolkit 4 in Visual Studio 2010 문서를 참조하십시오.

그런 다음 ASPX 페이지에 ScriptManager를 추가해야합니다. 다음 코드를 추가해야합니다.

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 

다음에 수행해야 할 작업은 페이지에 UpdatePanel을 추가하는 것입니다. 이 업데이트 패널에서 텍스트 상자를 배치해야합니다. 즉, 전체 페이지가 아니라 업데이트 패널의 컨트롤 만 새로 고침됩니다. 이렇게하려면 다음 코드를 추가하십시오.

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 

    <!--Add your Textbox Control to update here: Textbox1--> 
    <asp:TextBox ID="Textbox1" runat="server" ReadOnly="True"></asp:TextBox> 
    <asp:TextBox ID="Textbox2" runat="server" ReadOnly="True" ontextchanged="Textbox2_TextChanged"></asp:TextBox>        

    </ContentTemplate> 
    <Triggers> 
     <!--This is the textbox you will be typing text into: TextBox2--> 
     <asp:AsyncPostBackTrigger ControlID="Textbox2" EventName="TextChanged" /> 
    </Triggers> 
</asp:UpdatePanel> 

트리거는 포스트 백을 시작해야하는 양식의 컨트롤을 페이지에 알려줍니다. 이제 .cs 파일에서 Textbox2 TextChanged 이벤트에 대한 이벤트 처리기를 추가해야합니다. 다음 코드를 추가하십시오.

protected void Textbox2_TextChanged(object sender, EventArgs e) 
{ 
    // Set the text of textbox1 = textbox2 
} 

이 정보가 도움이되기를 바랍니다.

+0

이것은 매우 도움이되었다, 감사합니다 :) – Mido

1

이 작업을 수행하려면 자바 스크립트가 필요합니다. ASP.Net 코드는 서버 측에서 실행되므로 다시 게시하지 않고 페이지에 영향을 줄 수는 없습니다. OnTextChanged 이벤트에 대한 정보와 자바 스크립트로 연결하는 방법을 읽어보십시오. jQuery이라는 자바 스크립트 라이브러리가있어 모든 것을 더 쉽게 만들어줍니다. 꼭 필요한 것은 아니지만.

0

JQuery를 사용하십시오. 이 필드를 autofil하기 위해 데이터베이스와 같은 데이터 소스에 의존하는 경우 서버에 AJAX 호출을해야 할 수도 있습니다.

2

AJAX가 필요하지 않습니다. JQuery로 충분하다. 코드는 상자에 작성

  1. 텍스트 1 ID를 가정하면 그

    $('#text1').bind('keyup', function(){ 
    
        $('#text2').val($('#text1').val()); 
    
    }); 
    

    할 것입니다. 텍스트는

에 복사됩니다

  • 텍스트 2 텍스트 박스 닷넷에서 당신은이

    $('<%=text1.ClientID%>').bind('keyup', function(){ 
    
        $('<%=text2.ClientID%>').val($('#text1').val()); 
    
    }); 
    

    아처럼보고 그것을 마무리 할 수 ​​있도록 올바른 ID를 얻기 위해 클라이언트 ID를 사용해야합니다 $(document).ready 기준에 따라. 그리고 coures의 JQuery 라이브러리를 페이지에 포함시켜야합니다.

    게시 나 페이지 새로 고침이 전혀 없습니다. 가장 가벼운 솔루션이며 구현하기 쉽습니다.

  • 관련 문제