2012-01-31 64 views
1

我使用asp.net我的web应用程序,当我在点击复选框内GridView和之后,我检查按钮,它的值单击它并没有给我确切值 这里是ASP代码网格复选框值没有改变,如何获得点击按钮的值?

<asp:GridView ID="dgvMenu" runat="server" Width="100%" CssClass="grid" GridLines="None" 
               AutoGenerateColumns="False"> 
               <Columns> 

                <asp:TemplateField> 
                 <HeaderTemplate> 
                  View 
                 </HeaderTemplate> 
                 <ItemTemplate> 
                  <asp:CheckBox ID="View" runat="server" Checked="<%#Bind('View') %>" /> 
                 </ItemTemplate> 
                 <ItemStyle Width="50px" HorizontalAlign="Center" /> 
                </asp:TemplateField> 


                <asp:BoundField DataField="Menu" HeaderText="Menu Name"> 
                 <HeaderStyle HorizontalAlign="Left" CssClass="firstcol" /> 
                 <ItemStyle CssClass="firstcol" /> 
                </asp:BoundField> 
               </Columns> 
              </asp:GridView> 

和这里是它的VB版本,以获得其上按一下按钮版本值

For Each item As GridViewRow In dgvMenu.Rows 
      Dim MenuName As String = item.Cells.Item(1).Text 
      Dim chkView As CheckBox = DirectCast(item.FindControl("View"), CheckBox) 
     Next 

我要检查它的价值是否其选中或取消选中,这样我可以处理它的价值

+0

你的Button在GridView的下面? – 2012-01-31 14:29:36

回答

0

我认为即使在回发时也可以绑定您的GridView。你应该只绑定它if not PageIsPostback

将这个进入的Page_Load:

Private Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
    If Not IsPostBack Then 
     ' following function loads data and binds it to the GridView ' 
     BindGrid() 
    End If 
End Sub 

如果数据绑定在每个回发电网,ViewState中不能被重新加载,因此所有更改的值都将丢失和事件将无法正确触发。

+0

感谢budy我搞砸了所有的调试和控制因为我是web开发新手 – 2012-01-31 14:49:41

相关问题