2009-08-01 1 views
1

私は最初のwebpartで作業しています。 いくつかのユーザーコントロールを画面として使用します。そして私はここで問題を抱えています。webpartの "screens"としてのユーザーコントロール

最初の画面には、動的に作成されるオプション(ハイパーリンク)のリストが含まれています。ユーザーがクリックして決定した後、画面を変更して新しい画面にいくつかのパラメータを渡したい。

  1. 私のdicisionは、webpart作成に必要なすべてのコントロールをロードすることです。コントロール私は今、私は目に見えないようにする必要はありません。

    SomeUserControl1 uc1 = (SomeUserControl1)Page.LoadControl("~/_controltemplates/SomeUserControl1.ascx"); 
        SomeUserControl2 uc2 = (SomeUserControl2)Page.LoadControl("~/_controltemplates/SomeUserControl2.ascx"); 
        uc2.Visible = false; 
    
        Controls.Add(uc1); 
        Controls.Add(uc2); 
    
  2. 第1ユーザコントロールのオプションは、LinkBut​​tons(serverside)として実現されました。 OnClikイベントはwebpartクラスの特別なメソッドを呼び出します。このメソッドでは、私のユーザコントロールの可視性を変更し、いくつかのパラメータをusercontrol2に渡します。

私はこのアプローチが嫌いです。記述された機能を実現するさまざまな方法がありますか?

ありがとうございます!

答えて

0

あなたはASP.NET Wizard Controlを使用する必要があります。

+0

ありがとうございました! – RollingStone

0

デザインの観点からは、あなたがしていることは少し怖いです。さまざまなユーザーコントロールをWebパーツの顔として使用できる単一のユーザーコントロールに入れ子にすることを検討する必要があります。さまざまなユーザーコントロール間の結合を緩やかに保ち、コントロールの可視性で遊ぶようなことをする必要がある場合は、Observerパターンを実装することを検討してください。

関連する問題