Moin Zusammen,
ich mache gerade meine ersten Gehversuche mit ASP.NET (mit Visual Web Developer 2008), und bin auch prompt auf ein Problem gestossen.
Als erstes wollte ich mal einen Zähler mittels zweier Button rauf und runterzählen, und den jeweiligen Stand in einem Label anzeigen lassen.
Der Code dazu sieht dann wie folgt aus:
Code:
Partial Class Startseite
Inherits System.Web.UI.Page
Dim iCount As Integer
Dim iMaxCount As Integer = 5
Dim fFirst As Boolean = True
Protected Sub btnPrev_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnPrev.Click
iCount = iCount - 1
btnPrev.Enabled = (iCount > 1)
btnNext.Enabled = (iCount < iMaxCount)
lblTitle.Text = iCount.ToString + "/" + iMaxCount.ToString + "/" + fFirst.ToString
End Sub
Protected Sub form1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Init
If fFirst Then
iCount = 1
btnPrev.Enabled = (iCount > 1)
btnNext.Enabled = (iCount < iMaxCount)
lblTitle.Text = iCount.ToString + "/" + iMaxCount.ToString + "/" + fFirst.ToString
fFirst = False
End If
End Sub
Protected Sub btnNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnNext.Click
iCount = iCount + 1
btnPrev.Enabled = (iCount > 1)
btnNext.Enabled = (iCount < iMaxCount)
lblTitle.Text = iCount.ToString + "/" + iMaxCount.ToString + "/" + fFirst.ToString
End Sub
End Class
Problem:
Beim ersten Start wird mir, wie erwartet, 1/5/true ausgegeben, Prev-Button ist disabled, Next-Button enabled.
Beim Klick auf den Next-Button ändert sich dann der Wert auf 2/5/false, beide Button sind enabled. Bis jetzt also noch OK.
Noch ein Klick auf den Next-Button: Keine Änderung
Jetzt mal in der anderen Richtung (Prev-Button): Die Anzeige ändert sich auf 0/5/false, Prev ist disabled
Wieder auf Next: 2/5/false, Prev ist enabled.
So geht es dann immer abwechselnd.
Für den Fall, dass man den Status so nicht ändern kann, wie oben zu sehen, hatte ich es auch schon mit if/then/else-Konstrukten probiert, aber ohne Änderung.
OnClick ist in der aspx-Datei für die Button nicht noch gesetzt.
Mache ich da irgendwo einen Denkfehler, oder woher kommte das Phänomen?
BTW:
Wenn jemand ein brauchbares Tutorial kennt, oder ein (oder mehrere) Buch (Bücher) empfehlen kann (gerne auch mit Informationen zu AJAX): Immer her damit
Über Google und Amazon konnte ich da nichts passendes finden.