我在遍歷GridView的行後,在回發後填充GridView行時遇到困難。.NET GridView行在回發中爲空
總之,有兩個下拉列表確定應該在GridView中顯示的數據。該頁面最初僅加載兩個下拉列表,在此階段沒有GridView。從下拉菜單中選擇值後,用戶通過按鈕提交頁面。後面的代碼調用數據庫來檢索數據並將其綁定到GridView。我已經設法得到這個工作!
問題是,GridView有一列,用戶可以在項目模板中的文本框中編輯值。如果用戶更改文本框中的值並提交頁面,當我嘗試遍歷GridView的行時,它告訴我沒有要迭代的行。我很困惑,爲什麼會發生這種情況,因爲我可以在前端查看行和數據。
但是,如果我們刪除涉及用戶選擇下拉列表的步驟,並且在初始page_load上填充了GridView,我實際上可以遍歷行。
因此,就好像ViewState不會持續回發之間的行數(如果GridView綁定在按鈕單擊事件中)。
有人可以向我解釋,發生了什麼事。
下面的代碼在VB.NET:
Protected Sub Me_Load(ByVal sender As Object, ByVal e As EventArgs) _
Handles Me.Load
End Sub
Protected Sub BtnGetData_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles BtnGetData.Click
Dim ddlFirstValue As Integer = DropDownListOne.SelectedValue
Dim ddlSecondValue As Integer = DropDownListSecond.SelectedValue
MyGridView.DataSource = GetData(ddlFirstValue, ddlSecondValue)
MyGridView.DataBind()
End Sub
Protected Sub BtnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles BtnSubmit.Click
For Each row As GridViewRow In MyGridView.Rows 'this returning 0 rows
'Do something
Next
End Sub
不是100%確定你在問什麼。所以你點擊一個按鈕來填充你的gridview,然後點擊另一個來提交它的任何更改?但是當你提交它時,沒有行? – Cruril
是的,這是沒有行。當我嘗試迭代GridView.Rows時,它說0行正在返回。 – creativeincode