2014-02-25 4 views
0

그래서이 TextBox가있는 UpdatePanel이 있습니다. 내가 그것을 클릭 할 때마다 초점이 맞추어지고 1 초 이내에 초점이 사라집니다. 따라서 하나 TextBox 내부에 쓸 수없는 것 같습니다. 이 문제를 어떻게 해결합니까?TextBox가 신비하게 포커스를 잃음

<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server"> 
<asp:UpdatePanel runat="server" ChildrenAsTriggers="true"> 
    <ContentTemplate> 
     <asp:Timer runat="server" ID="updateTimer" Interval="1000" OnTick="updateTimer_Tick"></asp:Timer> 
     <div> 
      <asp:Panel runat="server" BorderColor="Black" BorderStyle="Double" BorderWidth="4" ScrollBars="Vertical"> 
       <asp:Literal runat="server" ID="chatLabel"></asp:Literal> 
      </asp:Panel>   
      <asp:TextBox runat="server" ID="chatTextBox" ClientIDMode="Static" BorderStyle="Double" BorderColor="Black" BorderWidth="4" AutoPostBack="true" OnKeyPress="return EnterEvent(event)"></asp:TextBox> 
      <asp:Button runat="server" ID="chatSubmit" OnClick="chatSubmit_Click" Text="Send"/> 
     </div> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<script> 
    function EnterEvent(e) 
    { 
     if (e.keyCode == 13) 
     { 
      __doPostBack('<%= chatSubmit.UniqueID %>', ""); 
     } 
    } 
</script> 
</asp:Content> 

답변

0

그렇게 할 것입니다. 키를 누를 때 비동기 포스트 백을 트리거하면 포커스를 잃는 원인이됩니다. 당신은 자바 스크립트를 사용해야하고, 사용해야합니다

Sys.Application.add_endRequest(function(sender, e) { }) 

요청의 끝을 듣고 다시 포커스를 넣으려면.

나는 무엇을 하려는지보고 있으며, 원하는 것을하기 위해 웹 서비스 또는 Signalr을 사용하는 것이 좋습니다. 당신은 당신이 찾고있는 능력이나 성과를 얻지 못할 것입니다. 업데이트 패널은 다시 게시 할 때 포커스를 잃어 버리므로 사용자는 타이핑을 계속할 수 없습니다. 업데이트 패널은 다소 제한적입니다.

관련 문제