2012-01-11 2 views
1

У меня есть usercontrol для заголовка на главной странице. Мне нужно указать атрибут 'linkName' на некоторых страницах содержимого. то есть для некоторых страниц должно быть <uc1:AdminHeader ID="Adminheader1" runat="server" linkClass="adminHeaderSelected" link="manageData"></uc1:AdminHeader> и в нескольких других страницах должна быть <uc1:AdminHeader ID="AdminHeader1" runat="server" linkName="adminusers"></uc1:AdminHeader>Добавление атрибута в пользовательский контроль главной страницы со страницы содержания?

как я могу добиться этого througn содержания страниц?

+0

Вы хотите установить это свойство от ContentPage или вы хотите, чтобы добавить свойство (не существующий)? –

+0

Я хочу добавить несуществующее свойство –

+0

Попробуйте мой [отредактированный ответ] (http://stackoverflow.com/a/8816585/284240). –

ответ

0

Добавить публичную собственность LinkName на вашу MasterPage, которая получает/устанавливает свойство UserControl. Тогда вы можете установить его со страницы следующим образом:

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

Где MyMaster фактический тип вашего MasterPage.

VB.NET:

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

Edit: Если вы хотите добавить, не существующий атрибут во время выполнения:

Создать метод 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

Смежные вопросы