이 문제점을 검색했으나이 문제점에 대한 질문이 도움이되지 않습니다. 우선 Ajax 지역으로 들어가서 익숙하지 않습니다. 기본적으로 연락처 양식 인 매우 간단한 WebUserControl을 만들었습니다. 사용자 컨트롤의 HTML이며, 부분적인 다시 게시 후 정적 내용의 UpdatePanel이 사라짐
당신이 컨트롤은 매우 간단 볼 수 있듯이
<telerik:RadAjaxManagerProxy ID="AjaxManagerProxy1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="btnSubmitContactForm">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="upContactForm" LoadingPanelID="RALP_ContactForm" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManagerProxy>
<telerik:RadAjaxLoadingPanel ID="RALP_ContactForm" runat="server" Transparency="5">
<img src="images/cf_animation.GIF" alt="Processing Request..." />
</telerik:RadAjaxLoadingPanel>
<asp:UpdatePanel ID="upContactForm" runat="server">
<ContentTemplate>
<div id="form-main">
<div id="form-div">
<p class="name">
<asp:TextBox ID="txtContactName" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox ID="txtContactEmail" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox ID="txtContactComment" TextMoe="MultiLine" runat="server"></asp:TextBox>
</p>
<p><asp:Label ID="lblMessage" runat="server" Visible="false"></asp:Label></p>
<div>
<asp:Button ID="btnSubmitContactForm" runat="server"
Text="SEND" OnClick="btnSubmitContactForm_Click" />
</div>
</div>
</div>
. 내 메인 페이지의 컨트롤을 호출합니다.
<uc1:FooterContactForm ID="FooterContactForm" runat="server"></uc1:FooterContactForm>
이제 렌더링 될 때 아주 잘 작동합니다. 보내기 단추를 클릭하면 이미지로드가 표시되고 서버 쪽 양식 내용이 전자 메일을 통해 나에게 전송됩니다.
이 프로세스가 완료되면 갑자기 바닥 글이 사라집니다. 이것은 사용자 컨트롤의 경우 일뿐만 아니라 사용자 컨트롤없이 구현했을 때 UpdatePanel의 내용이 사라집니다. 전자 메일이 서버 쪽에서 전송 된 후 다음 코드 줄을 넣으면 내용이 표시되고 사라지지 않습니다.
upContactForm.Update();
이 전체 문의 양식이 사라집니다. 하지만 TextBoxes를 재설정하려고하면 Update 패널을 업데이트 할 때 UpdateMode를 조건부로 설정해야한다는 오류가 발생합니다. UpdateMode를 조건부로 설정하면 오류는 사라지지만 다시 게시하면 연락처 양식이 다시 사라집니다.
여기에서 무슨 일이 일어나는지 전혀 알지 못하기 때문에 전문가가 친절하게 도와줍니다.
나는 UpdatePanel 때문에 상위 페이지에 AjaxManager 사라지는 것을 발견 : 여기
잘 작동해야 설정입니다. 상위 페이지에서 AjaxManager를 제거하면 컨트롤이 사라지지 않고 RadAjaxLoadingPanel을 통해로드되는 이미지가 표시되지 않습니다. AjaxManager가 이것을하는 이유는 무엇입니까? –