2016-11-22 2 views
0

Auf der Seite habe ich nur Textfeld, Button, Gridview und ein Label.Beschriftungstext wird beim ersten Versuch in asp.net nicht aktualisiert. Warum?

Ich schreibe Benutzernamen in Textfeld und klicken Sie auf die Schaltfläche, so dass es in db sucht und füllt Gridview und Text aktualisieren als "xx Ergebnis gefunden" so xx ist die Anzahl der Ergebnisse in db gefunden.

der Beispielcode ist sehr kurz und einfach:

string userName = TextBox2.Text; 
SqlDataSource1.SelectCommand = "Select * From SampleTable Where name = '"+userName+"'"; 
ResultLable.Text = GridView1.Rows.Count + " Result Found"; 
GridView1.Visible = true; 
ResultLable.Visible = true; 

zum Beispiel; Es gibt einen Benutzernamen John in db, aber Mary existiert nicht. Wenn ich John suche, ist die Zählung 1 (was korrekt ist), dann suche ich nach Mary und klicke erneut auf die Taste, die Nummer ist 1 (was falsch ist), aber wenn ich erneut auf die Schaltfläche klicke, wird sie gleich 0 auch.

Also das Problem ist, klicken Sie auf die Schaltfläche nicht aktualisiert die Nummer im ersten Klick-nur für den zweiten Klick arbeiten.

Warum passiert das?

Antwort

1

nach Satz Select Sie

SqlDataSource1.DataBind(); 
GridView1.DataBind(); 
+0

vielen Dank Kumpel – abidinberkay

1

Das Problem anrufen müssen, ist, dass Sie in den GridView1.Rows.Count suchen, wenn Sie auf die Schaltfläche klicken das Gitter nicht erneut binden wird, so dass die Rows.Count aus früherem Wert des Gitters sein .

ResultLable.Text = GridView1.Rows.Count + " Result Found"; 

Sie sollten Ihre Grid Rebind vor GridView1.Rows.Count() im Button_Click nehmen.

+0

Danke für Ihre Antwort, es funktioniert. – abidinberkay

Verwandte Themen