javascript (jQuery)를 사용하여 ASP : UpdatePanel을 업데이트하는 데 문제가 있습니다. 여기 내가 가진거야.ASP.NET : jQuery를 사용하여 UpdatePanel을 수동으로 업데이트
__doPostBack 트릭을 위해 업데이트 패널의 ClientID를 가져올 수 없기 때문에 숨겨진 버튼 트릭을 사용하고 있습니다. btnUpdate로 눌렀을 때 rptrEnquiry이 리바운드 (a의 GridView RowCommand 단위) btnUpdate로 처리 숨김에서
<asp:UpdatePanel runat="server" ID="pnlUpdate">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnUpdate" />
</Triggers>
<ContentTemplate>
<asp:UpdateProgress runat="server" AssociatedUpdatePanelID="pnlUpdate" DynamicLayout="false" DisplayAfter="100">
<ProgressTemplate>
<img alt="Laddar..." src="img/loader.gif" width="16" height="11"/>
</ProgressTemplate>
</asp:UpdateProgress>
<div style="display:none;">
<asp:Button runat="server" ID="btnUpdate" CommandName="Refresh" CommandArgument='<%# Eval("Id") %>'/>
</div>
<asp:Repeater runat="server" Id="rptrEnquiry">
...
</asp:Repeater>
<%= DateTime.Now.ToString() %>
<a href="javascript:jQuery('#<%= btnUpdate.ClientID %>').trigger('click')&&undefined;">Fire!</a>
</ContentTemplate>
</asp:UpdatePanel>
. 내가 직접 버튼을 누르면 (숨겨지지하면서)
는 모든. updateprogess가 표시되고 날짜가 업데이트 리피터 업데이트 (완벽
작동하지만 화재 링크를 클릭하고 자바 스크립트를 통해 버튼을 실행할 경우에만 날짜입니다 업데이트했지만 updateprogress는 표시되지 않고 리피터가 리바운드되지 않습니다. 리바운드 코드가 실행되지만 리펙트 코드가 업데이트되지 않은 것을 볼 수 있습니다.
:
적절한 된 ClientID를 위해 __EVENTTARGET를 얻으려면 내가 자바 스크립트를 사용하여 패널 업데이트 화재에 필요 (버튼을 사용하는 경우는 빈 문자열입니다) gridview에있는 updatepanel 가지고 있고이 날 "컴파일 오류 : pnlUpdate 현재 컨텍스트에서"클라이언트 ID를 얻으려고 때 –
그것은 좀 이상한 updatepanel 유일한 컨트롤입니다 내가 할 수있는 gridview ' 현재 상황에서 찾을 수 없습니까? –
__doPostBack() 앵커 태그는 pnlUpdate를 볼 수 있도록 UpdatePanel과 동일한 GridView 템플릿 안에 배치해야합니다. – jrummell