2011-02-09 12 views
0

私のユーザーコントロール(.ascx)は、プログラムで次のようにロードされました:LoadControl("~/Controls/mycontrol.ascx")。今日まで私のコントロールに2人のメンバーを追加するまで、すべてのことは大丈夫でした。ユーザーコントロールのプロパティをプログラムで読み込むと、そのユーザーコントロールのプロパティにアクセスする方法は?

public StuffType stuffType { get; set; } 

protected void Page_Load(object sender, EventArgs e) 
{ 
    switch (stuffType) 
    { 
     case CardType.A: 
      FillGvStuff(); 
      break; 
     case CardType.B: 
      FillGvExStuff(); 
      break; 
     default: 
      break; 
    }  
} 

StuffTypeにはどのようにアクセスできますか?

私は一種のsolutionを見つけました。

MyControl ctrl = (MyControl)LoadControl("~/Controls.mycontrol.ascx"); 
ctrl.stuffType = ...; 
// put control somehwere 

基本的に、あなたはそれをロードする際に、それを変数に割り当て、そのタイプとしてそれをキャストし、あなたは、そのメソッドとプロパティへのアクセス権を持っている必要があります。

答えて

5

は、私はあなたがこのような何かをしたいと思います

page_loadイベントをpage_prerenderに移動して、コントロールでpage_loadイベントが発生する前にプロパティを確実に設定することもできます。

関連する問題