0

我希望能够在我的 asp.net c# 页面上将固定装置添加到特定的比赛周。

当用户单击添加按钮时,它应该创建两个下拉列表,以便他们可以选择主队和客队。我希望能够允许用户想要添加尽可能多的装置,因此我需要一种向页面添加控件的动态方式。添加完所有灯具后,我希望将它们全部保存到数据库中。

滚动浏览论坛,我发现以下方法可以通过编程方式添加控件:

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>

但是,这只会创建一组控件,第二次单击添加时,什么也没有发生。当我需要保存时,它也不会创建要访问的唯一 ID。

有什么想法可以解决我遇到的这些问题吗?

4

1 回答 1

0

asp.net 中的动态控件并不那么容易。
您需要在每个帖子(理想情况下Init)上创建它们,直到您在页面上需要它们。
您还需要为他们提供唯一的 ID。

如果你想创建多个控件,我建议在你的 Session 中维护一个计数器,并使用它来循环并在 Init 上生成所需的控件。

在您的AddTeamButton_Click身上,您只会增加计数器并添加一组控件。

于 2013-03-21T12:43:13.513 回答