2013-06-11 75 views
0

我在文本框中输入了一个值,但是当我单击按钮以获取服务器端的值时,它仍然检索旧值。 这里是我的代码: ASPX:如何在ASP.NET中获取TextBox的值

<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); 
      } 
     } 

正如你看到的,当我得到txtQuantity的价值,它给我的旧值,而不是一个我输入

我想在回发中有一些问题。

+0

在页面加载时是否有'!Ispostback'? –

+0

还没有。什么投入!ispostback? –

+1

你如何填充gridview?如果你在页面加载时把它写入'!Ispostback'这个代码。 –

回答

1

您可以尝试使用

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

要得到什么被发送到服务器。

您可能需要处理语法。我现在无法测试它。

相关问题