Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2004, 05:36
keither
 
Fecha de Ingreso: febrero-2004
Mensajes: 67
Antigüedad: 20 años, 3 meses
Puntos: 0
Problema DataList

Hola a todos.

Soy principiante en .NET, trabajo con C# i tengo un problema con un DataList. Éste Datalist lo utilizo para actualizar una tabla de usuarios. El problema que tengo es que cuando modifico un campo (TextBox), se lanza el procedimiento UpdateComand llamando a una función pero cuando hago el:

string usuari=((TextBox)e.Item.FindControl("iusuari")).Te xt;

el valor que recoge usuari es el valor inicial que tenia el campo, no el nuevo que se ha introducido en el TextBox. Creo que el tema esta aqui ya que las conexiones estan bien y si cambio el codigo anterior por:

string usuari="hola";

y luego:

dsUsuaris1.Tables["USUARIS"].Rows[(int)e.Item.ItemIndex]["USUARI"] = ((TextBox)e.Item.FindControl("iusuari")).Text;

La base de datos se me actualiza bien.

Os pongo el código del datalist:

<asp:datalist id="DLUsuaris" style="Z-INDEX: 102; LEFT: 7px; POSITION: absolute; TOP: 177px" runat="server" DataKeyField="USUARI" Height="209px" Width="173px" OnEditCommand="DLUsuaris_EditCommand" OnItemCommand="DLUsuaris_ItemCommand" OnUpdateCommand="DLUsuaris_UpdateCommand">
<HeaderTemplate>
<table border="0" width="650">
</HeaderTemplate>
<SelectedItemTemplate>
<FONT face="Arial" color="#ff3333"><STRONG></STRONG></FONT>
</SelectedItemTemplate>
<EditItemTemplate>
<tr>
<td class="UsuarisRepeater"><%# DataBinder.Eval(Container.DataItem, "USUARI")%></td>
<td class="UsuarisRepeater"><%# DataBinder.Eval(Container.DataItem, "NOM")%></td>
<td>
<asp:LinkButton id="Linkbutton1" runat="server" CommandName="recollir">
<img border="0" src="../img/editarAmunt.gif"></asp:LinkButton></td>
</tr>
<tr>
<td class="UsuarisRepeater" colspan="2">
USUARI:
<asp:TextBox class="inputForm" id="iusuari" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "USUARI")%>'/>
<asp:TextBox class="inputForm" id="inom" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "NOM")%>' />
<asp:TextBox class="inputForm" id="imail" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "MAIL")%>' />
<asp:TextBox class="inputForm" id="iclau" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "CLAU")%>' />
</td>
</tr>
<tr>
<td colspan="2"><div align="right">
<asp:LinkButton Text="Desar canvis" Runat="server" class="botoForm" CommandName="update"/></div>
</td>
</tr>
</EditItemTemplate>
<ItemTemplate>
<tr>
<td class="UsuarisRepeater"><%# DataBinder.Eval(Container.DataItem, "USUARI")%></td>
<td class="UsuarisRepeater"><%# DataBinder.Eval(Container.DataItem, "NOM")%></td>
<td>
<asp:LinkButton Runat="server" ID="imagebutton" CommandName="edit">
<img border="0" src="../img/editar.gif"></asp:LinkButton></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:datalist>

Bueno, a ver como veis el tema.
Gracias de antemano.