从内容页面向主页面usercontrol添加属性?

时间:2012-01-11 08:52:23

标签: asp.net master-pages

我在母版页中有一个用于标题的usercontrol。我需要从某些内容页面获取属性“linkName”。即对某些页面应该是  <uc1:AdminHeader ID="Adminheader1" runat="server" linkClass="adminHeaderSelected" link="manageData"></uc1:AdminHeader> 应该是其他几个页面  <uc1:AdminHeader ID="AdminHeader1" runat="server" linkName="adminusers"></uc1:AdminHeader>

如何实现这些内容页面?

1 个答案:

答案 0 :(得分:0)

向您的MasterPage添加公共属性LinkName,以获取/设置UserControl的属性。 然后您可以通过以下方式从页面设置它:

((MyMaster)this.Page.Master).LinkName = "adminusers";

其中MyMaster是您的MasterPage的实际类型。

VB.NET:

DirectCast(Me.Page.Master, MyMaster).LinkName = "adminusers"

编辑:如果要在运行时添加不存在的属性:

创建方法AddHeaderAttribute

public void AddHeaderAttribute(string key, string Value)
{
    Adminheader1.Attributes.Add(key, Value);
}

VB.NET

Public Sub AddHeaderAttribute(key As String, Value As String)
   Adminheader1.Attributes.Add(key, Value)
End Sub

以上述方式调用此方法,例如

((MyMaster)this.Page.Master).AddHeaderAttribute("LinkName", "adminusers");

http://msdn.microsoft.com/en-us/library/system.web.ui.usercontrol.attributes.aspx