我希望能够在我的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。
我有什么想法可以解决我遇到的这些问题?
答案 0 :(得分:0)
asp.net中的动态控件并不是那么容易
您需要在每个帖子上创建它们(理想情况下在Init
上),直到您在页面上需要它们为止
您还需要为其提供唯一ID。
如果你想创建多个控件,我建议你在Session中维护一个计数器,并使用它来循环并在Init上生成所需的控件。
在AddTeamButton_Click
上,您只会增加计数器并添加一组控件。