简体   繁体   中英

How to get value of TextBox in ASP.NET

I have entered a value in the textbox, however when I clicked the button to get the value at server side, it still retrieved the old value. Here is my code: aspx:

<asp:GridView ID="gvTicketSkus" runat="server" AutoGenerateColumns="false" 
                        CssClass="innergv" HeaderStyle-CssClass="innergvHeader" GridLines="Horizontal"
                         Width="570px">
                <Columns>
                    <asp:BoundField HeaderText="Sku" DataField="TicketItemCode" />
                    <asp:BoundField HeaderText="TICKET TYPE" DataField="TicketItemCodeDescription" />
                    <asp:BoundField HeaderText="Tickets#" DataField="NumberOfWristbandsPerTicket" Visible="false" />
                    <asp:BoundField HeaderText="PRICE" DataField="Price" DataFormatString="{0:c}" />
                    <asp:TemplateField HeaderText="QUANTITY">
                        <ItemTemplate>
                            <asp:TextBox ID="txtQuantity" runat="server" TextMode="SingleLine" MaxLength="4" Width="80px" CssClass="quantity" Text="0"/>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

C#:

foreach (GridViewRow gvr in gvTicketSkus.Rows)
        {
            sku = gvr.Cells[0].Text;
            quantity = Convert.ToInt32(((TextBox)gvr.FindControl("txtQuantity")).Text);
            if (quantity > 0)
            {
                pendingOrder.Add(sku, quantity);
            }
        }

As you see when I get the value of txtQuantity, it gave me the old value, instead of the one I type in.

I guess there is some issue in postback.

You can try using

Request.Form[((TextBox)gvr.FindControl("txtQuantity")).ClientID];

To get exactly what was posted to the server.

You may need to work on the syntax. I can't test it right now.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM