2012-01-11 7 views
1

私はmasterpageにヘッダのusercontrolを持っています。私はいくつかのコンテンツページから属性 'linkName'が必要です。つまり、いくつかのページのためにそれは <uc1:AdminHeader ID="Adminheader1" runat="server" linkClass="adminHeaderSelected" link="manageData"></uc1:AdminHeader> である必要があり、いくつかの他のページでは、それは私がこのthrougnコンテンツページをacheiveする方法 <uc1:AdminHeader ID="AdminHeader1" runat="server" linkName="adminusers"></uc1:AdminHeader>コンテンツページからマスタページusercontrolに属性を追加していますか?

すべきですか?

+0

のためにあなたがContentPageからこのプロパティを設定するか、(非既存の)プロパティを追加したいですか? –

+0

既存のプロパティを追加したくない –

+0

私の[編集の回答](http://stackoverflow.com/a/8816585/284240)を試してください。 –

答えて

0

UserControlのプロパティを取得/設定するパブリックプロパティLinkNameをMasterPageに追加します。 その後、あなたは次のようにページから設定できます

MyMasterは、あなたのマスターページの実際の型である
((MyMaster)this.Page.Master).LinkName = "adminusers"; 

VB.NET:

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

編集:あなたは、実行時に存在しない属性を追加する場合:

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

VB:

メソッド AddHeaderAttributeを作成します。 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

関連する問題