<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>                <asp:GridView ID="MasterGridView" runat="server" AutoGenerateColumns="False" OnRowDataBound="MasterGridView_RowDataBound" DataKeyNames="编号" ShowHeader="false" >
                    <Columns>
                        <asp:TemplateField>
                            <ItemTemplate>
                                <div style="width: 100%; padding: 2px; font-weight: bold; background-color: #DEDEDE;
              float: left"><span><%#Eval("名称")%><span style="float: right;
                color: Red; cursor: pointer" onclick="ShowHidden('<%#Eval("编号") %>')">隐藏</span><span></span></div>
                                <div style="background-color: #FFF; padding-left: 60px; clear: both" id="div<%#Eval("编号")%>">
                                    <asp:GridView ID="DetailGridView" runat="server"  AutoGenerateColumns="false" ShowHeader="false" DataKeyNames="编号" >
                                        <Columns>
                                            <asp:TemplateField>
                                                <ItemTemplate>
                                                    <div>
                                                        <span><%#Eval("名称")%></span>
                                                        <span><asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Convert.ToBoolean(Eval("状态")) %>' OnCheckedChanged="SmaMod" /></span>
                                                    </div>
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                        </Columns> 
                                    </asp:GridView>
                                </div>
                            </ItemTemplate>
                        </asp:TemplateField>
                    </Columns>
                </asp:GridView>
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    </form>
</body>VB
----------------------------------------------------------------------------------------------------------
    Public Sub SmaMod()
        For Each row As GridViewRow In MasterGridView.Rows
            Dim Gv2 As GridView = DirectCast(row.FindControl("DetailGridView"), GridView)
            For Each r As GridViewRow In Gv2.Rows
                Dim chk As CheckBox = DirectCast(r.FindControl("CheckBox1"), CheckBox)
                If chk.Checked Then                    Response.Redirect("test.asp")                End If
            Next
        Next
    End Sub

解决方案 »

  1.   

    <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" />    Protected Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
            Dim chk As CheckBox = CType(sender, CheckBox)
        End Sub
      

  2.   

    to:amdndag嵌套以后,在asp.vb文件里面,找不到CheckBox1的事件了.
      

  3.   

    1.可以自己手动添加
    2.可以在页面选择GridView智能标记,选择编辑模板
      

  4.   

    自己写事件,然后绑定到SelectedChange事件就可以了
      

  5.   

    使用FindControl找到该控件再触发事件。
    看看行不?