簡體   English   中英

以編程方式將控件添加到ASP.NET C#頁面上的按鈕單擊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM