Кнопка внутри повторителя с выпадающим списком - PullRequest
1 голос
/ 27 мая 2010

У меня есть повторитель с литералом, раскрывающийся список и кнопка.

  <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="rep_ItemDataBound" onitemcommand="Repeater1_ItemCommand">
        <ItemTemplate>
          <div class="buypanel">
        <ul>
            <li>Choose finish <asp:DropDownList ID="ddlFinish" runat="server"></asp:DropDownList></li>
            <li>Qty <asp:Literal ID="ltQty" runat="server"></asp:Literal></li>
            <li><asp:Button ID="butBuy" runat="server" Text="Button" /></li>
        </ul>
        </div>
    </ItemTemplate>
    </asp:Repeater>

Я связываю всю информацию в коде как

 protected void rep_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Products product = (Products) e.Item.DataItem;


               //Dropdownlist to be bound. 

                //Set Buy Button
                var butBuy = (Button) e.Item.FindControl("butBuy");
                butBuy.CommandName = "Buy";
                butBuy.CommandArgument = product.Id.ToString();

            }
        }

, и у меня есть моя команда предметов, которую нужно подобрать по нажатию кнопки

  protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if(e.CommandName == "Buy")
            {

            }
        }

Я не уверен, каким образом, с помощью данного нажатия кнопки, получить нужную информацию из текстового поля и раскрывающегося списка рядом с ней?

1 Ответ

1 голос
/ 27 мая 2010

RepeaterCommandEventArgs имеет свойство «Item», которое можно использовать для ссылки на конкретный элемент, в котором произошло нажатие кнопки (элемент, запустивший команду). Затем вы можете использовать тот же метод FindControl для получения данных от элементов управления.

На основе предоставленного вами примера кода вы можете использовать свойство CommandArgument для получения идентификатора продукта. Это в сочетании с данными, собранными из элементов управления, позволит вам создать заказ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...