1

ユーザーがテキスト ボックスに入力した内容から、リピーターにラベルを設定しようとしています。ただし、テキスト ボックスに入力された値は取得されないため、ラベルにテキストを表示するボタンをクリックしても何も起こりません。

私のVBコードはここにあります:

Protected Sub cmdShowCost_Click(sender As Object, e As EventArgs) Handles cmdShowCost.Click
    rptProducts.DataBind()
    Dim someString As String
    Dim txtField As TextBox
    Dim lblField As Label
    Dim j As Integer = 0
    For Each item In rptProducts.Items
        txtField = CType(item.FindControl("txtAmountToBuy"), TextBox)
        lblField = CType(item.FindControl("lblCost"), Label)
        If Not IsNothing(txtField) Then
            j = j + 1
            someString = txtField.Text
            lblField.Text = someString
        Else
            lblField.Text = 0
        End If
    Next
End Sub

私のhtmlはここにあります:

<div>
    <table>
        <asp:Repeater ID="rptProducts" runat="server" >
                   <HeaderTemplate>
                        <tr>
                            <td>
                                Product Name
                             </td>
                            </td>
                            <td>
                                Price per Kg
                            </td>
                            <td>
                                Kg in Stock
                            </td>
                            <td>
                                Action
                            </td>
                            <td>
                                Amount to Buy
                            </td>
                            <td>
                                Cost
                            </td>
                        </tr>
                    </HeaderTemplate>

                    <ItemTemplate>
                        <tr>
                            <td>
                                <%#Eval("Product")%>
                            </td>
                            <td>
                                <%#Eval("PricePerKg")%>
                            </td>
                            <td>
                                <%#Eval("QuantityKg")%>
                            </td>
                            <td>
                                <a href='amount.aspx?ProductID=<%# DataBinder.Eval(Container.DataItem, "ProductID")%>&Stock=<%#Eval("QuantityKg")%>'>Details...</a>
                            </td>
                            <td>
                                <asp:TextBox ID="txtAmountToBuy" runat="server"/>
                            </td>
                            <td>
                                <asp:Label runat="server" ID="lblCost" />
                            </td>
                        </tr>
                    </ItemTemplate>
                    <FooterTemplate></FooterTemplate>
        </asp:Repeater>
    </table>
</div>

リピーターの残りの部分は正常に機能します。機能しないのは、ラベルの入力だけです。質問を投稿するのはこれが初めてです。誰かが助けてくれることを願っています。この問題をできる限り検索しましたが、何も機能していないようです。

ありがとう。

4

1 に答える 1