คนแก่อย่างผม ทบทวนความทรงจำ "ASP.NET Repeater Control ค่ามันจะหายไปเมื่อ POST BACK"
Code (VB.NET)
'มันเข้ามาทุกครั้งที่ PostBack ตามจำนวนระเบียน 10 แถว ก็เข้ามา 10 ครั้ง (สลับไปอีเวนต์ ItemDataBound แถว ต่อ แถว)
Private Sub rpt_ItemCreated(sender As Object, e As RepeaterItemEventArgs) Handles rpt.ItemCreated
If ((e.Item.ItemType = ListItemType.Item) OrElse (e.Item.ItemType = ListItemType.AlternatingItem)) Then
Dim lstSEX As SEX_Model.ICD = DirectCast(e.Item.DataItem, SEX_Model.ICD)
Dim txtXXX As TextBox = DirectCast(e.Item.FindControl("txtProduct_code"), TextBox)
'Fixed bug lose value when PostBack. (2013-xx-xx)
'Solution ctrlXXX.Attributes.Add("Hacks", "needSEX")
If txtXXX IsNot Nothing Then
txtXXX.Attributes.Add("Hacks", "x")
End If
'...
'...
'...
End Sub
Private Function rptCopy() As List(Of SEX_Model.ICD)
Return (From r In rpt.Items.Cast(Of RepeaterItem)() Select New SEX_Model.ICD() With {.Product_Code = DirectCast(r.FindControl("txtProduct_Code"), TextBox).Text
}).ToList()