2012-06-17 1 views
0

나는 다음과 같은리스트 뷰의 레이아웃이 : 내가 원하는 것 무엇키를 사용하여 목록보기 편집을 어떻게 확인할 수 있습니까?

<EditItemTemplate> 
       <tr class="<%# If(Container.DisplayIndex Mod 2 = 0, "", "a") %>"> 
        <td style="text-align: center;width:50px;"> 
         <asp:ImageButton ID="btnConfirmar" runat="server" CommandName="Update" ImageUrl="../images/Aceptar.ico"> 
         </asp:ImageButton> 
        </td> 
        <td style="text-align: center;width:50px;"> 
         <asp:ImageButton ID="btnCancelar" runat="server" CommandName="Cancel" ImageUrl="../images/Cancelar.ico"> 
         </asp:ImageButton> 
        </td> 
        <td style="text-align: left;"> 
         <asp:TextBox ID="txtZonaNombre" Text='<%#Convert.ToString(CType(Container.DataItem, KeyValuePair(Of Long, Mercurio.clsZonas)).Value.ZonaNombre)%>' 
          runat="server" Width="100%" /> 
         <asp:RequiredFieldValidator ID="ZonaNombreValidador" ControlToValidate="txtZonaNombre" 
          Display="Dynamic" Text="La zona debe tener nombre" runat="server" /> 
        </td> 
       </tr> 
      </EditItemTemplate> 

가 (당신이 그것을 이름을 어떤 소개가 입력, CHR (13)) 리턴 키를 눌렀을 때 편집을 확인하고을을 포커스가 txtZonaNombre 텍스트 상자에있는 동안 esc 키를 눌러 편집을 취소하십시오.

내가 너와이 코드와 더불어, jQuery를 사용하여 "클릭"모방 시도했다 :

$("#txtZonaNombre").keypress(function (e) { 
    if (e.which === 13) { 
     $("#btnConfirmar").trigger('click'); 
     return false; 
    } 
}); 

하지만 코드도 (내가 경고 호출을 확인했습니다) 해고되지 않습니다.

전체 목록보기는 사용자 컨트롤 (ascx 파일에 있음)의 일부이며, 컨트롤은 마스터 페이지 레이아웃 (마스터 페이지의 jquery 라이브러리를 참조) 안에 있으며 listview는 다음과 같습니다. 업데이트 패널 내부.

감사합니다. 문안 인사!

답변

0

컨트롤에 설정된 ID가 html로 렌더링 된 ID와 다릅니다 (ASP.NET이 부모 NamingContainers의 ID를 앞에 붙이기 때문에).

ASP.NET 2010을 사용하는 경우 ControlIDMode를 Static으로 설정하여 id가 HTML에서 동일하게 유지되도록 할 수 있습니다.

또는 id가 HTML (브라우저의 소스보기)에 있는지 확인하고 JavaScript를 대신 사용하도록 변경할 수 있습니다.

+0

감사합니다. 제어 이름이 내가 설정 한 이름이 아니라는 것을 알고, 나는 해결 방법을 시도했다. 문안 인사! – Leo

관련 문제