2013-06-11 76 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]; 

要得到什麼被髮送到服務器。

您可能需要處理語法。我現在無法測試它。

相關問題