母版页
<div id="header" style="height: 150px; width: 750px;">
<asp:Label ID="Label3" runat="server" Text="LoggedInUser:"></asp:Label>
<asp:Label ID="lblLoggedInUser" runat="server" Text=""></asp:Label>
</div>
<div id="leftMenu" class="leftmenu">
<br />
<asp:DropDownList ID="ddlFamilyMembers" runat="server"
style="height: 25px; width: 125px" DataTextField="FullName"
DataValueField="MembershipGen"
onselectedindexchanged="ddlFamilyMembers_SelectedIndexChanged"
AutoPostBack="True" >
</asp:DropDownList>
<br /><br />
<asp:Image ID="imageMember" class="space" runat="server" Height="150px" Width="125px" />
<br /><br /><br />
<asp:Label ID="Label1" runat="server" class="space" Text="MembershipID:"></asp:Label>
<asp:Label ID="lblMembershipID" runat="server" Text=""></asp:Label>
<br />
<asp:Label ID="Label2" runat="server" class="space" Text="Name:"></asp:Label>
<asp:Label ID="lblMemberName" runat="server" Text=""></asp:Label>
<br /><br /><br />
<asp:LinkButton ID="lbInformation" class="space" runat="server" onclick="lbInformation_Click">Member Information</asp:LinkButton><br />
<asp:LinkButton ID="lbAddress" class="space" runat="server"
onclick="lbAddress_Click">Member Address</asp:LinkButton>
</div>
<div id="divRight" class="divright">
<asp:ContentPlaceHolder ID="CPHMain" runat="server">
</asp:ContentPlaceHolder>
</div>
我发布了我的母版页代码,以便您更好地理解我的问题。由于这些控件位于我的母版页中,因此我需要为我的母版页中的所有控件创建公共属性以对我的内容页面进行数据绑定。也许我正在接近这个错误,但这就是我计划实现这一目标的方式。
ContentPage Default.aspxpage_load
事件将调用我的方法来检索数据并设置下拉列表、图像、2 个标签字段。在下拉列表的选定索引更改时,它将从另一种方法中获取新值并相应地填充这些控件。
要访问我读过的母版页中的这些控件,您可以通过几种不同的方式进行操作<%@MasterType VirtualPath="~/Member.Master" %>
,然后创建强类型连接。或者您可以创建一个松散类型的连接。
我对这些方式的问题,因为我将拥有超过 15 个内容页面,并且我讨厌每次调用其中一个内容页面时都必须重新绑定 DropDownList。此外,我必须在我认为我做错了的内容页面的每种方法中重新实例化控件。
有人可以给我一些建议,告诉我在没有那么多重复代码的情况下实现这一目标的正确方法是什么?