hola. ayuda
tengo un gridview en asp.net, lo que pasa es, tengo una plantilla para editar en dicho gridview al cual agregue un textbox para q introdusca el valor. pero cuando quiero recuperar el dato, siempre me devuelve el valor q recupera de la BD y no el nuevo valor que quiero.
el codigo del grid es:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
AutoGenerateDeleteButton="True"
DataSourceID="SqlDataSource1" Height="25px"
onrowediting="GridView1_RowEditing" Width="494px"
onrowcancelingedit="GridView1_RowCancelingEdit" BackColor="White"
BorderColor="#336666" BorderStyle="Double" BorderWidth="3px" CellPadding="4"
GridLines="Horizontal" onrowupdating="GridView1_RowUpdating" >
<FooterStyle BackColor="White" ForeColor="#333333" />
<RowStyle BackColor="White" ForeColor="#333333" />
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:TemplateField HeaderText="Descripcion">
<ItemTemplate>
<asp:Label ID="DescripcionLabel" runat="server"
Text='<%# Bind("descripcion") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<asp:Label ID="cantidadLabel" runat="server" Text='<%# Bind("cantidad") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="cantidadTextBox1" runat="server" Text='<%# Bind("cantidad") %>' ></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="numeroorden">
<ItemTemplate>
<asp:Label ID="numeroordenLabel" runat="server"
Text='<%# Bind("numeroorden") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="codigocategoria">
<ItemTemplate>
<asp:Label ID="codigocategoriaLabel" runat="server"
Text='<%# Bind("codigocategoria") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Ayuda">
<ItemTemplate>
<asp:Label ID="Label19" runat="server" Text='<%# Eval("cantidad") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("cantidad") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle BackColor="#336666" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#336666" Font-Bold="True" ForeColor="White" />
</asp:GridView>
y el metodo donde quiero recuperar es:
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//recuperamos la fila que estamos editando
GridViewRow fila = GridView1.Rows[e.RowIndex];
if (fila != null)
{
//inicializamos los parametros para actualizar
this.SqlDataSource1.UpdateParameters["cantidad"].DefaultValue =(fila.FindControl("cantidadTextBox") as TextBox).Text;
this.SqlDataSource1.UpdateParameters["numeroorden"].DefaultValue = (fila.FindControl("numeroordenLabel") as Label).Text;
this.SqlDataSource1.UpdateParameters["codigocategoria"].DefaultValue = (fila.FindControl("codigocategoriaLabel") as Label).Text;
//Ejecutamos la actualización
this.SqlDataSource1.Update();
//para salir del estado de edición
GridView1.EditIndex = -1;
MostrarDatos();
}
}
entonces como recuperaria ese nuevo valor que quiero actualizar?