Tôi có một số GridView
với một số BoundFields
và hai TemplateFields
. Trong hai số này TemplateFields
, tôi tự động tạo UserControls
chứa một số DropDownList
và một số TextBox
mà người dùng có thể sửa đổi.cột động sẽ biến mất sau khi đăng lại
Khi tôi cố gắng lấy giá trị của các điều khiển sau PostBack
, các giá trị trong BoundFields
vẫn ở đó nhưng các điều khiển động của tôi biến mất. Tôi có thể tạo lại nhưng không nhận được giá trị của người dùng ... Làm thế nào tôi có thể nhận được các giá trị này trước khi chúng bị mất?
Dưới đây là một số mã của tôi:
Trong trường hợp RowDataBound
:
Select Case type
Case "BooleanBis"
e.Row.Cells(2).Controls.Clear()
Dim list1 As BooleanBisList = New BooleanBisList(avant, False)
e.Row.Cells(2).Controls.Add(list1)
e.Row.Cells(4).Controls.Clear()
Dim list2 As BooleanBisList = New BooleanBisList(apres, True)
e.Row.Cells(4).Controls.Add(list2)
Case "Boolean"
e.Row.Cells(2).Controls.Clear()
Dim list3 As BooleanList = New BooleanList(avant, False)
e.Row.Cells(2).Controls.Add(list3)
e.Row.Cells(4).Controls.Clear()
Dim list4 As BooleanList = New BooleanList(apres, True)
e.Row.Cells(4).Controls.Add(list4)
End Select
Trong nút sự kiện click của tôi, tôi cố gắng để có được sự kiểm soát người sử dụng:
Case "String"
temp.ChampValeurApres = DirectCast(Tableau1.Rows(i).Cells(selectedColumn).Controls(1), TextBox).Text
nhưng tôi nhận được lỗi rằng nó không tồn tại.
Cảm ơn bạn rất nhiều! tôi vẫn còn có một vấn đề, tôi có cột với các điều khiển chỉ đọc. và giá trị của các điều khiển này không được truy xuất sau khi đăng lại. bất kỳ ý tưởng ? – user874854
@ user874854: điều khiển 'readonly' không duy trì các thay đổi trên client trong ViewState (chỉ thay đổi trên serverside). Làm cho chúng 'readonly' thông qua [Attributes] (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webcontrol.attributes.aspx) -kỹ thuật, ví dụ: 'TextBox1.Attributes .Thêm ("chỉ đọc", "chỉ đọc"); Bằng cách này bạn đánh lừa ASP.NET. Xem [ở đây] (http://www.codeproject.com/KB/aspnet/Readonly.aspx) để biết thêm thông tin. –