如何在aspx文件后面的代码中迭代创建asp:button?

How can I create an asp:button iteratively in code behind aspx file?

提问人:thesongib 提问时间:5/5/2020 更新时间:5/5/2020 访问量:102

问:

因此,从本质上讲,我正在为我正在做的网站制作一个“购物车”,作为一个额外的副项目。在购物车中的每件商品中,我尝试放置一个按钮以将商品从购物车中删除。问题是,无法从隐藏的代码创建asp:button。我读过的所有内容都说要制作一个占位符或面板,然后在其中放置一个按钮,但由于我不知道用户的购物车中有多少商品,因此我不能在我的aspx文件中放置X数量的占位符。

我的aspx代码(到目前为止):

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">

    <div id="emptyCart" style="text-align: center;" runat="server">
        <h1>Your cart is empty!</h1>
    </div>

    <div id="cart" runat="server">



    </div>

</asp:Content>

我的背景写作使商品出现在购物车中(这仅适用于 1 件商品):

                    if (cart.InnerHtml == "")
                    {
                        cart.InnerHtml = "<div class='jumbotron'>";
                    }
                    else
                    {
                        cart.InnerHtml += "<div class='jumbotron'>";
                    }
                    cart.InnerHtml += "<div style='display:block;'>";
                    cart.InnerHtml += "<h3 style='display:inline-block'>Featured</h3>";
                    cart.InnerHtml +=  "<h4 style = 'display:inline-block; float:right;' > Special title treatment</h4>";
                    cart.InnerHtml += "</div>";
                    cart.InnerHtml += "<div>";
                    cart.InnerHtml += "<h6>With supporting text below as a natural lead-in to additional content.</h6>";
                    cart.InnerHtml += "<asp:Button id='remove' Text='Remove' runat='server' OnClick='Remove_Click' class='btn btn-primary btn-lg'></asp:Button>";
                    cart.InnerHtml += "</div>";
                    cart.InnerHtml += "</div>";

当我不知道我需要多少个时,如何从隐藏的代码中制作asp:button或等效功能?

asp.net 按钮 aspbutton

评论


答:

0赞 JobesK 5/5/2020 #1

您可以从代码隐藏中创建任何内容。如果查看 ondatabound 事件,如下所示:

 //placeHolderLink is the ID of the placeholder control, create instance
 PlaceHolder ph = ((PlaceHolder)e.Row.FindControl("placeholderLink"));


 // create a link button and add what ever attributes you need
 LinkButton link = new LinkButton();
 link.Text = "x"; //delete 


 // add link button control to place holder
  ph.Controls.Add(link);