나는 두 UpdatePanels있는 페이지를 가지고 : 첫 번째 패널에서의 ListView에서 포스트 백 컨트롤이 있습니다다른 UpdatePanel에서 다시 게시 한 후 UpdatePanel을 표시하고 새로 고칩니다.
<asp:UpdatePanel id="ListUpdatePanel" runat="server" UpdateMode="conditional">
<ContentTemplate>
<asp:ListView ... </asp:ListView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel id="DetailUpdatePanel" runat="server" UpdateMode="conditional">
..
</asp:UpdatePanel>
. 일어날 일은 페이지가 ListView에서 이벤트를 캡처 할 때 페이지가 모드를 전환해야 할 때입니다. 코드는 그 시점에서 두 번째 패널을 표시하고 업데이트해야합니다. 명령 이벤트가 PageMode
이 후, 편집 설정하는 속성 발생합니다 : 'ID와 UpdatePanel을 찾을 수 없습니다 : ScriptResource.axd : 868Uncaught Sys.InvalidOperationException
protected override void OnPreRender(EventArgs e)
{
ListPanel.Visible = PageMode == PageModes.List;
EditPanel.Visible = PageMode == PageModes.Edit;
if (PageMode == PageModes.Edit)
{
EditUpdatePanel.Update();
}
else
{
ListUpdatePanel.Update();
}
base.OnPreRender(e);
}
을하지만 작동하지 않습니다, 나는이 오류 ctl00_ctl11_DetailUpdatePanel '. 동적으로 업데이트되는 경우 다른 UpdatePanel 안에 있어야합니다.
패널이 자동으로 설정된 경우이를 예상합니다. 나는 여기에 뭔가가있는 것 같아. 포스트 백이 UpdatePanel 내부에서 시작된 경우, 조건부로 설정되어 있더라도 해당 컨트롤이 어떻게 든 해당 UpdatePanel에 연결되어 있습니까? 주어진 UpdatePanel을 "벗어나"전체 포스트 백을 수행하지 않도록 asp.net을 얻는 방법이 있습니까?
이 둘은 같은 UpdatePanel에 둘 다 사용되었지만 세부적인 패널에서 특정 상황에서 제출을 차단하는 논리를 구현해야하기 때문에 구분해야합니다. 그들은 동일한 UpdatePanel에 있습니다. 나는 둘 다 항상 렌더링하고 CSS를 사용하여 사용자가 주어진 모드에서 작동하지 않게하려는 경우 작동한다고 생각합니다. 또는 둘 다 외부 UpdatePanel에 둘 수 있습니다. 하지만 대역폭 낭비가 많은 것처럼 보입니다. 원하는대로 작동하도록하는 방법이 있기를 바랍니다.
수동 제어가 똑같이 작동하지 않아야합니까? 나는 같은 오류가 발생할 것이라고 생각한다. –
updatepanle은 부분 렌더링 만하기 때문에 다른 panle을 통해 요청을 보내지 않을 수도 있습니다. – XtremeBytes