업데이트 패널 내의 단추에서 전체 포스트백을 강제로 수행하려면 어떻게 해야 합니까?
업데이트 패널 내의 단추에서 전체 포스트백을 강제로 수행하려면 어떻게 해야 합니까?
업데이트 패널의 트리거 속성을 사용하여 전체 포스트백을 트리거하는 작업을 등록할 수 있습니다.
컨트롤을 포함하는 해당 속성에 PostBackTrigger 개체를 추가합니다.전체 포스트백을 트리거해야 하는 컨트롤의 ID입니다.
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
...
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="myFullPostBackControlID" />
</Triggers>
</asp:UpdatePanel>
다른 사람이 없어서 이걸 추가하는 겁니다.위의 어떤 방법도 없이 코드 한 줄에서 코드 뒤에 이 작업을 수행할 수 있습니다.이것을 page_load에 넣으면 됩니다.
비주얼 베이직
ScriptManager.GetCurrent(Me).RegisterPostBackControl(myButtonID)
C#
ScriptManager.GetCurrent(this).RegisterPostBackControl(myButtonID);
여기서:
PostBackTrigger 컨트롤을 사용하여 업데이트 패널 내부의 컨트롤이 비동기식 포스트백을 수행하는 대신 포스트백을 발생시킬 수 있습니다.
<Triggers>
<asp:PostBackTrigger ControlID="controlID" />
</Triggers>
WebDataGrid에서 ImageButton을 사용하는 경우에도 동일한 문제가 있었습니다.
대신 웹 데이터 그리드의 PreRender 안에 EvilDr의 Line을 넣었습니다.잘했어요!
for (int i = 0; i < wdgMyData.Rows.Count; i++)
{
ScriptManager.GetCurrent(this).RegisterPostBackControl((ImageButton)wdgMyData.Rows[i].Items[3].FindControl("btnDownloadExcel"));
}
모든 것이 업데이트 패널에 있고 문서에 전체 포스트백을 수행하여 문서를 작성하려는 경우에는 다소 까다로운 접근 방식은 오래된 문제입니다.Ready 코드는 클릭하면 작동합니다.
업데이트 패널 외부에 더미 버튼을 만들고 코드 뒤에 있는 이 버튼을 클릭합니다.
ScriptManager.RegisterStartupScript(Page, this.GetType(), "ResetDoc", "ResetDocumentReady();", true);
프론트 엔드의 기능을 다음과 같이 정의합니다.
function ResetDocumentReady() {
$("[id$=DummyButton]").click();
}
참고: 하지만 가장 좋은 방법은 @Thibault Falise가 게시한 답변인 트리거를 사용하는 것입니다. :)
언급URL : https://stackoverflow.com/questions/2545508/how-do-i-force-full-post-back-from-a-button-within-an-updatepanel
'programing' 카테고리의 다른 글
상태를 사용하려면 선택기를 사용해야 합니다. (0) | 2023.06.24 |
---|---|
바로 옆 창에서 데이터 테이블 또는 데이터 보기의 내용을 쉽게 볼 수 있는 방법 (0) | 2023.06.24 |
단일 파일을 pytest로 테스트하는 방법 (0) | 2023.06.24 |
Git 병합 중단 (0) | 2023.06.24 |
누가 ORA-29861 오류와 그 가능한 원인을 쉬운 영어로 설명해 줄 수 있습니까? (0) | 2023.06.24 |