두 개의 데이터 컨트롤이있는 상위 페이지가 있습니다. 자식 창을 열어서 뭔가를하고 싶을 때 부모 페이지의 두 데이터 컨트롤 중 하나만 리 바인드하고 싶을 때 닫으면됩니다. UpdatePanel 내에서 업데이트하려는 컨트롤이 있으므로 리바 인드를 호출하고 UpdatePanel.Update()를 호출하고 싶습니다.하위 페이지가 닫힐 때 상위 페이지에서 서버 측 이벤트를 호출 할 수 있습니까?
0
A
답변
2
자식 창에서 실제로 부모 페이지에 대한 서버 측 함수를 "호출"할 수는 없지만 일부 JavaScript를 사용하여 해당 페이지에서 클라이언트 측 함수를 호출 할 수 있습니다. 자식 페이지에서
<script language="Javascript" type="text/javascript">
function CallAlert()
{
alert("This is parent window's alert function.");
}
</script>
: 부모 페이지에서
사용자가 제공 한 예에서<script language="Javascript" type="text/javascript">
function CallParentWindowAlert()
{
window.opener.CallAlert();
return false;
}
</script>
, 당신은 UpdatePanel이 특히, 당신은 실제로 자신에게 몇 가지를 떠 났어요 옵션은 여기에 있습니다. UpdatePanel이 강제로 업데이트되도록 트리거의 형태로 설정되어있는 경우, 모든 자식이거나 지정된 것일 뿐이므로 부모 함수에서 해당 컨트롤 중 하나에서 다시 게시를 할 수 있습니다. 궁극적으로 상위 페이지 javascript 함수는 컨트롤 및 일부 (빈) 매개 변수의 ID를 참조하는 __doPostBack() 호출의 일부 형식을 가져야합니다.
Page.ClientScript.GetPostBackEventReference(control, null);
을 통해 해당 코드를 생성하는 것이 더 나을 것입니다.
일단 함께 사용하면 onUnLoad() 또는 호출하는 사용자 정의 함수에서 수행 할 모든 클라이언트 측 이벤트 (예 : 자식 페이지)에 실제 호출을 연결하는 것이 모두 문제입니다.
0
당신이해야 할 일은 업데이트 패널 또는 업데이트 패널의 항목을 대상으로 상위 페이지에서 __doPostBack을 호출하는 것입니다.
부모 코드 :
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Parent Window</h1>
Time:
<%= DateTime.Now.ToString() %>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
Update Panel Time<%= DateTime.Now.ToString() %>
<br />
<asp:Button ID="Button1" Text="Submit" runat="server" />
<a href="#" onclick="window.open('child.aspx')">Click To Open Child Window</a>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
아이 코드 :
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" language="javascript">
function UnloadMe() {
if (opener) {
opener.__doPostBack("UpdatePanel1", "");
}
}
</script>
</head>
<body onunload="UnloadMe()">
<form id="form1" runat="server">
<div>
<h1>Child Window</h1>
</div>
</form>
</body>
</html>
관련 문제
- 1. 페이지가 닫힐 때 작업 수행
- 2. ASP 페이지에서 예정된 서버 측 이벤트를 트리거하는 방법
- 3. ASP.NET - 콘텐츠 페이지가 마스터 페이지에서 함수를 호출 할 수 있습니까?
- 4. 이벤트를 위임하고 이벤트를 호출 할 수 있습니까?
- 5. 상위 클래스의 하위 클래스 생성자를 호출 할 수 있습니까?
- 6. html 단추 컨트롤에서 서버 측 이벤트 호출
- 7. 페이지가 닫힐 때 재설정되지 않는 카운터
- 8. 하위 페이지에서 상위 페이지로 이동
- 9. 상위 창에서 하위 창 함수 호출
- 10. 상위 페이지에서 javascript iframe 요소에 액세스 할 수 있습니까?
- 11. iframe에서 시작된 이벤트를 상위 요소에서 처리 할 수 있습니까?
- 12. iframe 내에 페이지가 있는지 감지 - 서버 측
- 13. Javascript : 하위 페이지에서 상위 페이지로 값 지정
- 14. 팝업 창이 닫힐 때 상위 창 새로 고침
- 15. Javascript 함수 호출 서버 측
- 16. 서버 측 GWT 호출 취소
- 17. 모달 상자가 닫힐 때 상위 페이지 새로 고침
- 18. JSON에서 서버 측 메서드 호출
- 19. jquery를 사용하여 호출 서버 측 함수/이벤트
- 20. Flex의 하위 구성 요소에서 상위 구성 요소의 함수를 호출 할 수 있습니까?
- 21. 서버 측 이벤트로 jquery 모달 상자 호출
- 22. 상위 페이지에서 팝업으로 데이터 전달
- 23. 상위 생성자 앞에서 하위 클래스 생성자 호출
- 24. 상위 HTML 페이지에서 하위 HTML 페이지의 요소에 액세스하고 있습니까?
- 25. 상위 페이지에서 웹 사용자 컨트롤의 기능 호출
- 26. 브라우저가 닫힐 때 페이지 메서드 호출
- 27. window.onbeforeunload가 호출 될 때 페이지가 리디렉션되는 위치를 알 수 있습니까?
- 28. 하위 클래스에서 상위 클래스로 다시 호출
- 29. 서버 측 폼없이 ASCX User Control을 대체 할 수 있습니까?
- 30. asp.net 클라이언트 측에서 서버 측 메서드 호출