2016-11-22 35 views
0

在頁面上,我只有文本框,按鈕,gridview和一個標籤。標籤文本在asp.net中的第一次嘗試中未更新。爲什麼?

我把用戶名寫入文本框並單擊按鈕,所以它在db中搜索並填充gridview並將標籤文本更新爲「找到xx結果」,因此xx是在db中找到的結果的計數。

示例代碼是非常短的,易於:

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; 

例如;在db中有一個用戶名John,但Mary不存在。當我搜索John時,計數爲1(這是正確的),然後我搜索Mary,然後再次單擊按鈕,數字爲1(這是不正確的),但是當我再次單擊按鈕時,它變爲0.相同的情況對於反向場景有效以及。

所以問題是點擊按鈕沒有更新第一次點擊數 - 只是第二次點擊工作。

爲什麼發生?

回答

1

集之後的SelectCommand你需要調用

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

非常感謝你的朋友 – abidinberkay

1

的問題是,你正在尋找在GridView1.Rows.Count,當您單擊該按鈕網格不重新綁定,因此Rows.Count將從電網的前值。

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

你應該在Button_Click採取GridView1.Rows.Count()之前重新綁定你的網格。

+0

感謝您的回答,它工作。 – abidinberkay

相關問題