0

asp.net c# ページで特定のゲームウィークにフィクスチャを追加できるようにしたいと考えています。

ユーザーが追加ボタンをクリックすると、2 つのドロップダウンが作成され、ホーム チームとアウェイ チームを選択できるようになります。ユーザーが追加したい数のフィクスチャを許可できるようにしたいので、ページにコントロールを動的に追加する方法が必要です。すべてのフィクスチャが追加されたら、それらをすべてデータベースに保存します。

フォーラムをスクロールして、プログラムでコントロールを追加する次の方法を見つけました。

c#

        protected void AddTeamButton_Click(object sender, EventArgs e)
    {
        DropDownList homeTeamName = new DropDownList();
        homeTeamName.Items.Add("Arsenal");
        homeTeamName.Items.Add("Aston Villa");
        homeTeamName.ID = "homeTeam";
        PlaceHolder1.Controls.Add(homeTeamName);

        DropDownList awayTeamName = new DropDownList();
        awayTeamName.Items.Add("Arsenal");
        awayTeamName.Items.Add("Aston Villa");
        awayTeamName.ID = "awayTeam";
        PlaceHolder1.Controls.Add(awayTeamName);
    }

aspx:

<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>

ただし、これはコントロールのセットを 1 つだけ作成し、2 回目に追加をクリックしても何も起こりません。また、保存する必要があるときにアクセスするための一意の ID も作成しません。

私が抱えているこれらの問題を解決する方法はありますか?

4

1 に答える 1

0

asp.netの動的制御はそれほど簡単ではありません。
ページで必要になるまで、各投稿(理想的にはInit)で作成する必要があります。
また、一意のIDを与える必要があります。

複数のコントロールを作成する場合は、セッションにカウンターを維持し、それを使用してループし、Initで必要なコントロールを生成することをお勧めします。

AddTeamButton_Clickで、カウンターをインクリメントし、コントロールのセットを1つ追加するだけです。

于 2013-03-21T12:43:13.513 に答える