Как я могу итеративно создать кнопку asp: в коде за файлом aspx? - PullRequest
0 голосов
/ 04 мая 2020

По сути, я делаю «тележку» для веб-сайта, который делаю как дополнительный побочный проект. В каждом элементе в корзине я пытаюсь разместить кнопку для удаления элемента из корзины. Проблема в том, что невозможно создать кнопку asp: из исходного кода. Все, что я прочитал, говорит о том, что нужно создать заполнитель или панель, а затем поместить в нее кнопку, но поскольку я не знаю, сколько элементов у пользователя в корзине, я не могу просто поместить X количество заполнителей в свой файл aspx.

Мой 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: или аналогичную функцию из кода, стоящего позади, если я не знаю, сколько мне понадобится?

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете создать что угодно из кода. Если вы посмотрите на свое событие 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);
...