2011-02-12 80 views
3

内容页通讯假设我有在母版页一个dowpdown,我想,当用户从下拉列表中选择任何项目,然后会出现一个回传和所选择的项目文本将在标签被dispalyed内容页。请帮助我提供示例代码。母版页,并在asp.net

感谢

回答

4

你应该将以下指令添加到内容页:

<%@ MasterType VirtualPath="path to master page" %> 

添加公共财产IH母版页的代码隐藏文件:

public DropDownList DropDownList 
{ 
    get { return dropDownList; } 
} 

添加事件处理程序中的内容页面:

Master.DropDownList.SelectedIndexChanged += OnSelectedIndexChanged; 

将事件hanlder中的Master.DropDownList.SelectedValue分配给Label.Text。

2

只是一个样本

MasterPageCode:

Public Class MyMasterPage 
inherits Page (or MasterPage?) 

public readonly property MyDropDown as DropDown 
end Property 

End Class 

页面代码

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

在母版页:

<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; 
    } 
+0

这对我的作品!谢谢 – 2011-11-21 13:39:36