2012-01-11 114 views
1

我有一個用戶控件的主頁上的標題。我需要一些內容頁面的屬性'linkName'。即對於一些網頁應該是 <uc1:AdminHeader ID="Adminheader1" runat="server" linkClass="adminHeaderSelected" link="manageData"></uc1:AdminHeader> 和其他一些網頁應該是 <uc1:AdminHeader ID="AdminHeader1" runat="server" linkName="adminusers"></uc1:AdminHeader>從內容頁面向主頁面usercontrol添加屬性?

我怎樣才能達致這througn內容的網頁?

+0

你想設置從ContentPage此屬性或您要添加一個(不存在的)的財產? – 2012-01-11 08:56:51

+0

我想添加一個不存在的屬性 – 2012-01-11 09:03:24

+0

試試我的[編輯答案](http://stackoverflow.com/a/8816585/284240)。 – 2012-01-11 09:15:39

回答

0

將公共屬性LinkName添加到獲取/設置UserControl屬性的MasterPage。 然後,您可以通過以下方式從頁面設置:

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

哪裏MyMaster是實際類型的母版的。

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