[英]Programatically Add Control to ASP.NET C# Page on Button Click
我希望能夠在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。
有什么想法可以解決我遇到的這些問題嗎?
asp.net中的動態控件並不是那么容易。
您需要在每個Post(理想情況下是Init
)上創建它們,直到在頁面上需要它們為止。
您還需要為其提供唯一的ID。
如果要創建多個控件,建議您在Session中維護一個計數器,並使用該計數器在Init上循環並生成所需的控件。
在您的AddTeamButton_Click
您將僅增加計數器並添加一組控件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.