0

アイテムとそれに対応する価格を配列に格納し、表示する必要があります。

例: 10.00 の本は 0.85 のチョコレート バー

商品と価格をドロップダウンに入力します。ボタンクリックイベントで、これらの選択を配列に追加したいと思います。

vb.netでこれを行うにはどうすればよいですか?

<asp:DropDownList ID="ddlItem" runat="server">
            <asp:ListItem Value="12.49">book</asp:ListItem>
            <asp:ListItem Value="14.99">music</asp:ListItem>
            <asp:ListItem Value="0.85">chocolate bar</asp:ListItem>
            <asp:ListItem Value="10.00">box of chocolates 1</asp:ListItem>
            <asp:ListItem Value="47.50">bottle of perfume 1</asp:ListItem>
            <asp:ListItem Value="27.99">bottle of perfume 2</asp:ListItem>
            <asp:ListItem Value="18.99">bottle of perfume</asp:ListItem>
            <asp:ListItem Value="9.75">headache pills</asp:ListItem>
            <asp:ListItem Value="11.25">box of chocolates 2</asp:ListItem>
</asp:DropDownList>

ボタン クリック イベントのコードは、最初に追加したものを常に上書きしているようです。

 Protected Sub btnAdd_Click(sender As Object, e As System.EventArgs) Handles btnAdd.Click

        'Add items into an array list
        Dim Item As String = ddlItem.SelectedItem.Text
        Dim Price As Decimal = ddlItem.SelectedValue

        Dim ListItemCollection As ListItemCollection = New ListItemCollection

        ListItemCollection.Add(Item)

        Response.Write(ListItemCollection.Count)

    End Sub
4

1 に答える 1

0

サーバー側/コード ビハインドでは、DropDownList に名前でアクセスできるはずです。ddlItem.

このddlItem.Items メンバーはListItemCollectionを公開し、これがIEnumerableを実装します。

IEnumerable にはToArray 拡張メソッドがあります。したがって、次のように単純にする必要がありますddlItem.Items.ToArray()

それが役立つことを願っています。

編集

あなたのコメントを読んで、私はあなたの質問を誤解している可能性があることを理解しています. 答えはまだ非常に単純ですが、コードは次のとおりです。

Protected Sub btnAdd_Click(sender As Object, e As System.EventArgs) Handles btnAdd.Click
    Dim selectedItems = ddlItem.Items.Where(Function(n) n.Selected).ToArray()
    Response.Write(selectedItems.Count)
End Sub
于 2012-07-17T09:36:58.680 に答える