asp.net
  • vb.net
  • 2017-05-15 9 views 0 likes 
    0

    グリッドビュー内のボタンは、隠しテキストボックスから正しい値を取得できません。ボタングリッドビューでボタンを更新し、隠しテキストボックスから値を取得

    ここ

    コードである:

    ASP:後ろ

    <columns> 
        <asp:TemplateField > 
         <ItemTemplate> 
    <asp:TextBox ID="txtFruit" runat="server" Visible="true" Text='<%# Bind("txtFruit")%>' /> 
         </ItemTemplate> 
        </asp:TemplateField> 
    
        <asp:BoundField DataField="HiddentxtFruit" HeaderText ="Fruit" HeaderStyle-Width="0%" HtmlEncode="false" Visible="false" /> 
    
        </asp:TemplateField> 
    
    
          <asp:TemplateField HeaderText="Confirm"> 
    <ItemTemplate> 
    <asp:Button ID="btnSubmit" Text="Confirm" runat="server" CommandName="Submit" /> 
    
    </ItemTemplate> 
    </asp:TemplateField> 
    
    </columns> 
    

    コード:

    For intX As Integer = 0 To gridview1.Rows.Count - 1 
        Dim txtPLACE As TextBox = TryCast(gridview1.Rows(0).Cells(0).FindControl("txtFruit"), TextBox) 
    Next 
    

    又は

    For intX As Integer = 0 To gridview1.Rows.Count - 1 
        Dim txtPLACEss As TextBox = DirectCast(gridview1.Rows(intX).FindControl("txtFruit"), TextBox) 
    Next 
    

    これはGridViewのから最初の行を取得します。行のインデックスを取得するためのコードの下

    +0

    ...これはあなたの問題を解決することを願っています

     Dim txtPLACEss As TextBox = DirectCast(gridview1.Rows(rowIndex).FindControl("txtFruitHidden"), TextBox) 

    C#であなたがRow_updatingイベントを使用していますか? –

    +0

    @RamSinghいいえ、私はボタンのクリックを使用します –

    答えて

    1

    使用:

    Dim rowIndex = DirectCast(DirectCast(sender, Control).NamingContainer, GridViewRow).RowIndex 
    

    そして

    Dim txtPLACEss As TextBox = DirectCast(gridview1.Rows(rowIndex).FindControl("txtFruit"), TextBox) 
    

    UPDATEあなたの問題を解決します:

    ​​

    その後

    +0

    タイプ 'ASP.forms_fruit_stock_fruits_aspx'の型を 'System.Web.UI.WebControls.GridViewRow'にキャストすることができません あなたの提供する方法を使用してキャストできません –

    +0

    私はちょうど提供しましたボタンがクリックされている行のインデックスを取得するにはあなたが私の考えを尋ねたものです:) –

    +0

    私はhtmlコードを追加します –

    関連する問題