반응형
UpdatePanel의 버튼에서 전체 포스트 백을 강제로 적용하려면 어떻게합니까?
UpdatePanel의 버튼에서 전체 포스트 백을 강제로 적용하려면 어떻게합니까?
UpdatePanel 의 Triggers 속성을 사용하여 전체 포스트 백을 트리거하는 작업을 등록 할 수 있습니다 .
해당 속성에 PostBackTrigger 개체를 추가하고 전체 포스트 백을 트리거해야하는 컨트롤의 ControlID를 포함합니다.
<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)
씨#
ScriptManager.GetCurrent(this).RegisterPostBackControl(myButtonID);
에서 여기 :
PostBackTrigger 컨트롤을 사용하여 비동기 포스트 백을 수행하는 대신 포스트 백을 발생시키는 UpdatePanel 내부의 컨트롤을 활성화합니다.
<Triggers>
<asp:PostBackTrigger ControlID="controlID" />
</Triggers>
WebDataGrid 내에서 ImageButton을 사용하여 동일한 문제가 발생했습니다.
대신 webdatagrid의 preRender 안에 EvilDr의 Line을 넣었습니다. 잘 했어!
for (int i = 0; i < wdgMyData.Rows.Count; i++)
{
ScriptManager.GetCurrent(this).RegisterPostBackControl((ImageButton)wdgMyData.Rows[i].Items[3].FindControl("btnDownloadExcel"));
}
모든 것이 업데이트 패널에 있고 Document.Ready 코드가 클릭으로 작동 하도록 전체 게시를 원할 때 약간 까다로운 접근 방식이 있습니다 .
1. 업데이트 패널 외부에 더미 버튼을 만들고 다음과 같은 코드 뒤에서 클릭합니다.
ScriptManager.RegisterStartupScript(Page, this.GetType(), "ResetDoc", "ResetDocumentReady();", true);
2. 다음 과 같이 프런트 엔드에 함수를 정의하십시오.
function ResetDocumentReady() {
$("[id$=DummyButton]").click();
}
참고 : 그러나 가장 좋은 방법은 @Thibault Falise가 게시 한 답변 인 트리거를 사용하는 것입니다. :)
반응형
'developer tip' 카테고리의 다른 글
Google 애드워즈 전환 onclick을 추적하는 방법은 무엇입니까? (0) | 2020.11.04 |
---|---|
HTTP 헤더가 IIS7.5로 전송 된 후 서버가 상태를 설정할 수 없습니다. (0) | 2020.11.04 |
Zsh는 명령 앞에 _가있는 명령을 자동 수정하려고합니다. (0) | 2020.11.04 |
JavaScript 객체가 JSON인지 확인하는 방법 (0) | 2020.11.04 |
virtualenv에서 작동하도록`pip install lxml`을 얻을 수없는 이유는 무엇입니까? (0) | 2020.11.04 |