우리는 페이지의 여러 부분에서 작업하는 많은 사람들로 구성된 팀을 가질 것이므로 재사용 가능한 Usercontrols로 페이지의 여러 섹션을 나누기로했습니다.UpdatePanels를 사용하는 여러 수준의 UserControls
그러나 하나의 컨트롤에 문제가 있습니다.
먼저, 무슨 일이 일어나고 있는지 생각해 보겠습니다. 또한 우리는 첫째로 레이아웃 페이지가 http://www.elycity.co.uk/Business/BusinessNew2.aspx?businessid=24
에서이 문제를 볼 수 있습니다 BusinessNew2.aspx
각 섹션은 webcontrol하지만 마지막 부분을 가지고합니다. CompanyInformation 섹션에는 여러 다른 UserControl이 있습니다.
모든 버튼을 클릭에 나와있는 연락처 (businesscontact.ascx)제외하고 잘 작동의 Tabs.ascx이 재설정되고 그것은 Information.ascx 탭으로 돌아갑니다.
BusinessContact.ascx
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="BusinessContact.ascx.vb" Inherits="BusinessListing.BusinessContact" %>
<asp:UpdatePanel ID="updMain" runat="server" >
<ContentTemplate>
<asp:Panel ID="pnlContactMain" runat="server" >
<h3>Send <asp:literal ID="litCompanyName" runat="server" /> a message</h3>
<div class="form-horizontal">
<div class="control-group">
<label class="control-label" for="inputName">Name</label>
<div class="controls">
<asp:textbox type="text" id="txtName" placeholder="Name" runat="server" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputEmail">Email</label>
<div class="controls">
<asp:textbox id="txtEmail" placeholder="Email" runat="server" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputPhone">Telephone No</label>
<div class="controls">
<asp:textbox id="txtPhone" placeholder="Telephone" runat="server" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputMessage">Message</label>
<div class="controls">
<asp:TextBox Height="40" TextMode="MultiLine" id="txtMessage" placeholder="Message" runat="server" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputMessage"></label>
<div class="controls">
<asp:Button ID="btnSendMessage" runat="server" Text="Send Message" />
</div>
</div>
</div>
</asp:Panel>
<asp:Panel ID="pnlContactSent" runat="server" Visible="false">
<div class="hero-unit">
<h2>Email has been sent</h2>
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
그냥 테스트, 코드 숨김 동안 :
Namespace BusinessListing
Partial Class BusinessContact
Inherits System.Web.UI.UserControl
Protected Sub btnSendMessage_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSendMessage.Click
pnlContactMain.Visible = False
pnlContactSent.Visible = True
End Sub
End Class
End Namespace
그래서 내가 뭘 놓친 거지. 왜 이것이 상위 컨트롤러에 대해 전체 포스트 백을 수행하고 있으며이를 방지 할 수 있습니까?
감사 마크
덕분에, 나는 모두이 방법을 포기하기로 결정했습니다. 당신이 자식 것들을 사용하도록 당신의 방법을 묶어 두었다면, UpdatePanels의 실제 사용이 무엇인지 질문하게한다. –