0

所以基本上我正在为我正在做的一个额外的项目做一个“购物车”。在购物车中的每个项目中,我都试图放置一个按钮以从购物车中删除该项目。问题是,不可能从后面的代码创建一个 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 或等效功能?

4

1 回答 1

0

您可以从后面的代码创建任何东西。如果查看您的 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);
于 2020-05-04T23:38:33.057 回答