0

5 つのパネルを持つ aspx ページがあります。各パネルにはユーザーコントロールがあります。5 つのパネルすべてのユーザー コントロールは同じです。最初のパネルのユーザー コントロールは、プライマリ メンバーのデータを収集するためのもので、残りはセカンダリ メンバーに使用されます。あるパネルから別のパネルに移動するには、">" と "<" のカスタム ボタンを使用します。プライマリ パネルからセカンダリ パネルに移動するたびに、ユーザー コントロールの 2 つのテキスト ボックスを非表示にします。プライマリ パネルに戻ると、それらのテキスト ボックスが再び表示されます。ボタンは親ページにあるので、やり方を教えてください。ユーザーコントロールでイベントを作成し、親ページからアクセスするとうまくいくと思います。しかし、それを行う方法がわかりません。もしくは他の方法があれば教えてください。

ありがとう

4

2 に答える 2

1

このために、ユーザー コントロールでイベントを作成する必要はありません。

必要なのは、ユーザー コントロールを使用するときに設定できるパブリック プロパティをユーザー コントロールに作成することだけです。

コードを提供していないので、サンプルを提供します。

public partial class MyWidget: System.Web.UI.UserControl
{
    private bool showPrimary;
    public bool ShowPrimary
    {
        get { return showPrimary; }
        set 
        {
            showPrimary = value;
            txtPK1.Visible = value;
            txtPK2.Visible = value;
        }
    }
}

次に、次のように呼び出すときに設定します。

Main Panel:
<uc1:MyWidget ID="MyWidget1" ShowPrimary="true" runat="server" />

Secondary Panel:
<uc1:MyWidget ID="MyWidget1" ShowPrimary="false" runat="server" />
于 2012-09-01T14:19:20.547 に答える
0

わかりません、ボタン><は次/前のコントロールに進むためのページにあります。次に、ページ内のクリックイベントを処理し、UserControlsの表示を切り替える必要があります。

ページからUserControls内のコントロールの可視性を制御する方法がわからない場合:

  • UserControlたとえば、のプロパティを使用しますPrimaryMode。そこで、それに応じて非表示/表示できますTextBoxes。これらのプロパティはページから呼び出すことができます。PrimaryModeタイプboolまたはカスタム列挙型(複数の表示モードを提供する場合)にすることができます。
于 2012-09-01T14:13:14.507 に答える