2009-07-16 4 views
0

で作られた制御、アクセス我々は内側のテンプレートコントロールのプロパティにアクセスしたいテンプレートコントロール がありItemplate

がどのように私はこれを達成することができますか? 私が欲しいのは次のとおりです。 ibtnPrev.Visible = false;

class CFooterTemplate : ITemplate 
{ 

    Label lblPaging; 
    ImageButton ibtnPrev; 
    ImageButton ibtnNext; 

    public void InstantiateIn(Control container) 
    { 
     lblPaging = new Label(); 
     ibtnPrev = new ImageButton(); 
     ibtnNext = new ImageButton(); 

     container.Controls.Add(ibtnNext); 
     container.Controls.Add(lblPaging); 
     container.Controls.Add(ibtnPrev); 

}


アクセスインナー制御とそれの変更1プロパティ

 listCase.FooterTemplate = new CFooterTemplate(); 

は、今、私たちは偽 どのようにibtnPrev可視性を設定したいたとえばです多くの方法がありますし、あなたの提案する方法は何ですか、 ありがとう

私はこれをしたいだけです ibtnPrev.Visible = false;

答えて

1

find the control by its IDが必要です。コントロールをその型にキャストします。

+0

whitin listCase.FindControl( "lblPaging"); で十分ですか? またはlistCase.FooterTemplate.FindControl( "lblPaging"); IDがコントロールの生成中に変更されると思います。 ここでIDを特定する方法はありますか、それとも手動で行う必要がありますか? ありがとう – Sypress

+1

ページがレンダリングされるときにIDが変更されますが、ページがレンダリングされる前にFindControlが実行されるため、短いIDを使用するのが安全です。 FindControlの検索幅を制限するには、最も良い親要素内で検索して、最高のパフォーマンスを得ることができます。 –

+0

これらは、生成されたIDは、次のとおりのためにpnlCustNav CustPanel1 $ ctl01 $ ctl04 $ ibtnPrev:については CustPanel1_ctl01_ctl04_pnlCustNav ibtnPrev は、我々が定義されている、我々は彼らが同じくらい簡単にするためにあらゆる可能性を持っていますか: 例えば変更:CustPanel1 $ ctl01 $ ctl04 $ ibtnPrevに:ibtnPrev かどうか? – Sypress

関連する問題