【发布时间】:2015-11-03 06:13:29
【问题描述】:
我有一个创建数据库记录网格视图的用户控件。每条记录都有一个用于删除记录的复选框。
我的问题是page_load 事件构建了网格视图,然后删除按钮甚至触发。 deleteButton_click 事件在gridview 上循环查找复选框,但从未找到任何复选框,因为'page_load' 事件只是给了我一个干净的gridview。在重新构建网格视图之前检查复选框的最佳方法是什么?或者我可以在不查看网格视图的情况下获取选中的值吗?
Protected Sub Page_Load(...) Handles Me.Load
'db calls and other code
gv.DataBind()
End Sub
Protected Sub btnDelAtt_Click(...) Handles btnDelAtt.Click
For Each grdRow As GridViewRow In gvFileViewer.Row
Dim chkBox As CheckBox = CType(grdRow.FindControl("cbItem"), CheckBox)
If chkBox.Checked = True Then 'this is always false thanks to page_load
'code that does not run
end if
next
end sub
【问题讨论】:
-
!IsPostBack 到页面加载事件?
-
^ 那个。确保您的页面加载事件在执行仅在页面首次加载时执行一次的操作之前检查 isPostBack。 If Not Page.IsPostBack 我相信是 VB 语法
-
@Moe 不幸的是,页面上还有其他事件可能导致页面在回发时加载,我仍然需要构建网格视图。
标签: asp.net