webForumDet fria alternativet

Problem med in place editing i DataGrid

.NET

1 svar · 218 visningar · startad av Ricki

Medlem sedan juni 2000373 inlägg
Frågan#1

Tjena,
Har en adminsida med flera datagrids på. Ena kolumnen i en datagrid ser ut såhär:

<asp:TemplateColumn HeaderText="Name">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Name").ToString() %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat="server" ID="name" size="17" text='<%# DataBinder.Eval(Container.DataItem, "Name").ToString() %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>

När jag uppdaterar hämtar jag värdet av name såhär:

string name = ((TextBox)e.Item.FindControl("name")).Text;

Problemet är att name alltid kommer innehålla samma text, vad jag än skriver in i textboxen. Den hittar kontrollen fint och så, men Text-propertyn kommer alltid att returnera det som stod i textboxen innan.

Någon som kanske vet vat detta kan bero på?

Medlem sedan apr. 20012 266 inlägg
#2

Problemet är troligen att du gör en DataBind även vid PostBacks.

// I Page_Load
{
   if (!Page.IsPostBack)
   {
      // databindning
   }
}
275 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
146 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)