Saludos, por favor si alguien me puede ayudar de manera urgente con el siguiente problema.
Tengo un gridview con dos TemplateField uno con un checkbox y otro con un textbox,
los mismo que debo leer para ingresar lo que elija el usuario en el check y lo
que escriba en el textbox.
Lo mismo lo estoy haciendo de la siguiete manera:
Html de mi pagina .aspx
<asp:GridView ID="gridview1" runat="server" AutoGenerateColumns="false" AllowPaging="true" PageSize="10" PagerSettings-Visible="false">
<Columns>
<asp:BoundField DataField="campo1" HeaderText="" />
<asp:BoundField DataField="campo2" HeaderText="" />
<asp:BoundField DataField="Descripcion" HeaderText="" />
<asp:TemplateField HeaderText="Activ. Realizada">
<ItemTemplate>
<asp:CheckBox ID="chkCampo" runat="server" Checked='<%#Eval ("campo3") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Comentario">
<ItemTemplate>
<asp:TextBox ID="txtCampo" runat="server" Text='<%#Eval ("campo4") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
En el código tengo lo siguinte:
Public Sub GuardarValores()
For Each row As GridViewRow In gridview1.Rows
Dim listaAux As New ArrayList()
campo1 = Integer.Parse(gvDetalle.Rows(row.RowIndex).Cells(0 ).Text)
campo2 = Integer.Parse(gvDetalle.Rows(row.RowIndex).Cells(1 ).Text)
Dim chkcampo As CheckBox = CType(row.FindControl("chkCampo "), CheckBox)
Dim txtcampo As TextBox = CType(row.FindControl("txtCampo"), TextBox)
var1= chkcampo.Checked
var2 = txtcampo.Text
If Not ListaActiv.Contains(campo1) Then
lista.Add(campo2)
lista.Add(var1)
lista.Add(var2)
ListaTotal.Add(listaAux)
Next
End Sub
Pero cuando pasa por estas lineas Dim chkcampo As CheckBox = CType(row.FindControl("chkCampo "), CheckBox)
Dim txtcampo As TextBox = CType(row.FindControl("txtCampo"), TextBox)
var1= chkcampo.Checked
var2 = txtcampo.Text
no me trae lo que estoy checkando ni lo que estoy escribiendo.
GRacias por su ayuda.