Lade kopling till datagriden i knappen också (första kodsnutten) då fungerar det som det ska...
Men ska verkligen inte onload funktionen ta de raderna eller vad är det jag har missat?
file = Session["file"].ToString();
query = "SELECT movie.Name AS Video, user.Name AS \"User name\" FROM movie, user, comments WHERE user.id = comments.u_Id AND movie.id = comments.m_Id;";
OdbcDataAdapter myCommand = new OdbcDataAdapter(query, MyConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "Conn");
DataGrid1.DataSource=ds.Tables["Conn"].DefaultView;
DataGrid1.DataBind();
Pageloaden körs innan koden kopplad till din knapp exekveras - när du binder datan i din datagrid så har du således ännu inte gjort uppdateringen i databasen. Därför visas den inte MEN den läggs ju ändå till i databasen direkt efter att du bundit datan till din kontroll så skulle du titta i databasen efteråt så ser ju allt rätt ut. När sidan så körs igen så finns då dina data där, därför blir det en eftersläpning...
Ett tips är att överhuvudtaget inte skriva en massa kod i din pageload, ta ned koden till ett minimum och gör funktionsanrop istället! Med mycket kod i pageloaden är det lätt hänt att man binder fel eller i fel ordning och kör kod man inte vill köra... Ett typfel gör du själv i ditt sista exempel som innebär att du först binder en massa data till din kontroll när pageloaden körs och sedan skriver du över alla dina data i samma datagrid IGEN efter uppdateringen under samma postback. Inte särskilt effektivt, väl? :) Alltså, ingen onödig kod i pageloaden för det blir bara krångligt att felsöka, speciellt som man ofta får fel som inte syns, som i ditt exempel.
Tack för ett mycket utförligt svar! :)
Tur att jag tog bort en del kod då innan jag postade ;)
Ska ta och ändra detta..
Hur kan jag komma undan "eftersläpningen" om jag vill göra det effektivare då? (ta bort bindningen i knappen)
Eftersläpningen tar du helt enkelt bort genom att exekvera rätt kod i rätt ordning och första steget är att du inte binder någon data till din datagrid i pageloaden vid postbacks. Sedan finns det naturligtvis en mängd olika sätt att skriva snyggare kod... ska du vara riktigt seriös kan du arbeta med olika applikationslager och bygga egna klassbibliotek som exempelvis tar hand om kopplingar till databasen (alltså att du verkligen utnyttjar objektorienterad programmering!) men är man ny på programmering så är det nog inte där man börjar.
279 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25