Problemet är troligen att du gör en DataBind även vid PostBacks.
// I Page_Load
{
if (!Page.IsPostBack)
{
// databindning
}
}
1 svar · 218 visningar · startad av Ricki
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å?
Problemet är troligen att du gör en DataBind även vid PostBacks.
// I Page_Load
{
if (!Page.IsPostBack)
{
// databindning
}
}