因为我们将有一个庞大的团队来处理页面的各个部分等,所以我决定将页面的许多部分分解为可重用的用户控件。
但是,我对一个控件有疑问。
首先,让我让您了解正在发生的事情。您也可以在http://www.elycity.co.uk/Business/BusinessNew2.aspx?businessid=24看到这个
我们首先有布局页面:BusinessNew2.aspx
每个部分都有一个 webcontrol,但最后一个部分。CompanyInformation 部分包含其他几个用户控件。
除联系人 (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
所以我错过了什么。为什么这会完全回发到父控制器,我该如何防止这种情况?
问候马克