假设我在母版页中有一个下拉,我希望当用户从该下拉列表中选择任何项目时,将发生回发,并且所选项目文本将在内容页面的标签中显示。请帮我提供示例代码。
感谢
答案 0 :(得分:4)
您应该将以下指令添加到内容页面:
<%@ MasterType VirtualPath="path to master page" %>
添加公共属性ih母版页代码隐藏文件:
public DropDownList DropDownList
{
get { return dropDownList; }
}
在内容页面中添加事件处理程序:
Master.DropDownList.SelectedIndexChanged += OnSelectedIndexChanged;
将Master.DropDownList.SelectedValue分配给事件hanlder中的Label.Text。
答案 1 :(得分:3)
在母版页上:
<asp:DropDownList ID="someDropDown" runat="server" AutoPostBack="True">
<asp:ListItem Text="Bob" Value="Bob"></asp:ListItem>
<asp:ListItem Text="John" Value="John"></asp:ListItem>
<asp:ListItem Text="Mark" Value="Mark"></asp:ListItem>
</asp:DropDownList>
在aspx的任何其他页面上:
<asp:Label ID="userLabel" runat="server"/>
在任何其他页面上,代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
DropDownList thisDropDown = this.Master.FindControl("someDropDown") as DropDownList;
userLabel.Text = thisDropDown.SelectedValue;
}
答案 2 :(得分:2)
只需一个样本
MasterPageCode:
Public Class MyMasterPage
inherits Page (or MasterPage?)
public readonly property MyDropDown as DropDown
end Property
End Class
Page COde
Public Class MyContentPage
inherits Page
Public Overrides Sub OnLoad
dim drop as DropDown = CType(Me.MasterPage, MyMasterPage).MyDropDown
AddHandler drop.SelectedIndexChanged, AddressOf someprocedure
End Sub
End Class
答案 3 :(得分:1)