2011-12-15 3 views
1

문자를 입력하는 동안 레이블 값을 텍스트 상자와 동일하게 변경하려고합니다. 그래서 여기에 질문이? 어떻게 다시 게시 후 textbox 커서를 유지할 수 있습니까? 예를 들어 'ab'입력하십시오. 텍스트 박스의 커서 위치는 'B'여기포스트 백 후에 텍스트 상자 커서 유지

는 마지막 문자에 남아 내 코딩되어

<script language="javascript" type="text/javascript"> 


function RefreshUpdatePanel() { 
    __doPostBack('<%= TextBox1.ClientID %>', ''); 
}; 


</script> 
<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 

    <br /> 
    <br /> 
<asp:TextBox ID="TextBox1" runat="server" onkeyup="RefreshUpdatePanel();" 
      ontextchanged="TextBox1_TextChanged"></asp:TextBox> 

    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
     </ContentTemplate> 
    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="TextBox1" /> 
    </Triggers> 
    </asp:UpdatePanel> 

    </ContentTemplate> 
</asp:UpdatePanel> 

내 백엔드 코드

protected void Page_Load(object sender, EventArgs e) 
    { 
     //--If post back is txtSearach , then do search function-- 
     if (Page.Request.Form["__EVENTTARGET"] == TextBox1.ClientID) 
     { 
      this.Label1.Text = this.TextBox1.Text; 

     } 

    } 
나는 또한 textbox1.focus를 넣어 시도

() 다시 게시 이벤트가 발생하지만 텍스트 상자 커서 posittion은 첫 번째 문자에서 시작됩니다. (

+1

당신의 TextChanged에 다시 게시 할 이유 궁금 해요. 자바 스크립트/jQuery를 사용하여 왕복없이 레이블을 업데이트 할 수 있습니다. –

+0

실제로 나는 즉시 검색 기능을 원한다. 사용자가 검색 텍스트 상자에 키를 입력하면 그리드 뷰도 업데이트됩니다. Jquery를 사용하여 그리드 뷰를 리바 인딩하는 방법을 모르겠다. ( – user998405

+0

jQuery를 살펴볼 때 약간의 시간을 할애했다. –

답변

0

은 무엇 당신이해야 할 것은 형식 (또는 문서)의 onsubmit 이벤트를 처리하고 숨겨진 필드의 현재 캐럿 위치를 저장하는 것입니다. 서버에서 숨겨진 필드 값을 읽은 다음 시작 스크립트를 생성하여 캐럿 위치를 설정하십시오. 까다로운 비트 캐럿 위치를 가져오고 설정하는 - 링크가 그 문제에 도움이 될 것입니다 아래 : Set keyboard caret position in html textbox


jQuery Set Cursor Position in Text Area

http://parentnode.org/javascript/working-with-the-cursor-position/이 모든 것을 말했다, 나는 당신의 솔루션을 구조 다시 당신을 추천합니다. 텍스트 변경에 대한 업데이트 패널 부분 포스트 백을 사용하는 대신 스크립트 서비스 (또는 페이지 메소드)를 사용하여 검색 결과를 얻기 위해 서버에 대한 아약스 호출을 작성해야합니다. 보다 간단하고 우아하며 효율적입니다. 링크가 가야 다음은 시작 :

http://encosia.com/using-jquery-to-consume-aspnet-json-web-services/
http://www.codeproject.com/KB/aspnet/jQuery_To_WCF.aspx
http://msdn.microsoft.com/en-us/magazine/cc163499.aspx

0

사용 가능한 jquery 플러그인을 확인하는 것이 좋습니다. 르 검색 의 jquery autocomplete 꽤 많은 양의 옵션을 반환합니다. 당신을 시작하게하는 하나가 있습니다.

http://jqueryui.com/demos/autocomplete/

관련 문제