(nummer deklarerades utanför alla funktioner)
(MyQueryMethod() är en metod som returnerar ett dataset i sitt argument)
så funkade inte det, den steppade bara fram nästa post och sen gick det inte att steppa fram nästa. men var det inte tänkt så med webcontrols och ASP.NET att ASP.NET skulle likna windowsprogrammering,. det verkar ju inte funka i så fall ifall man måste använda sessioner och annat gojs.
naj det funkade inte förstår du, nummer++; är samma sak som
nummer+=1; och nummer=nummer+1;. det verkar inte som nummer behåller sitt värde, när man trycker på knappen.
TextBox har ju ingen egenskap som heter DataSource, inte ärvd heller, kollade i .doc:en. eller har den det? och vad ska man ha den till, hur funka den?.
Varje händelse genererar en ny förfrågan till servern. Eftersom ASP.NET körs på servern och resultatet skickas som HTML till klienten så måste varje händelse köras på servern och sedan skicka resultatet till webklienten.
Om du laddar data till en textbox i page load och sen har en knapp som ska utföra något med värdet i textboxen, vilket kan vara ändrat, så får du det värde som laddas. Lägg till
Det stämmer att ALL data för din sida kommer att raderas.
Dock är det så att när du gör din förfrågning mot servern så kommer viss data att skickas med automatiskt. Det är dels alla de input fält som du har (textboxar, checkboxar, valda värden i dropdownlistor osv osv) du gör ju en submit till servern.
Dels så kan man lagra information om sina server-controls i något som heter viewstat. Om du binder ett stor DataSet till en DataGrid och visar det på din sida, så kan du i HTML-koden se en lång krypterard sträng. Det är din viewstat, alltså information om vilka kontroller som har vilket värde.
Detta gör att du inte behöver fråga din databas varje gång efter data att fylla typ en DropDownList med 4 olika färger, du gör det en gång och sedan håller viewstaten all den datan till dig och skriver ut dessa fyra färger i dropdownlistan varje gång som du laddar om sidan.
Nu är inte viewstaten endast av godo (även om man kan tro det) eftersom om du har MYCKET data som binds på din sida, så kommer du få mycket data som skickas från servern->klienten och sedan från klienten->servern. Så om du har en dålig lina så skickar du en massa data som du kanske inte har tillräckligt med kapacitet för. Så därför skall man stänga av viewstaten på sina sidor om man inte behöver denna data.
Dock är det så att variabler inne i din VB/C# kod inte kommer att placeras i din viewstat eftersom de inte tillhör någon servercontroll och dessa försvinner varje gång sidan laddas om. Nu kan man dock (som nämnts tidigare) behålla ett värde med hjälp av static, men då kommer du få samma värde för alla dina sidor och inte olika för olika besökare, ungefär som Application-variabler.
Du skall alltså inte göra något för att din sida skall visa din dropdownlista.
Dock måste du ju fylla den första gången man kommer in på sidan, och sedan nästa gång (postback) så skall du inte fylla den, eftersom viewstaten innehåller alla värden.
så alltså måste du kolla i din Page_Load() om det är första gången sidan körs Page.IsPostBack = false och så fall hämta data från databasen, nästa gång sidan körs så kommer Page.IsPostBack vara True och då skall du INTE hämta någon data. Typ så här:
private void Page_Load(object sender, System.EventArgs e){
if(!Page.IsPostBack){
//-- Hämta data från databasen
}
}
- M
261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25