Asp.net aspxcheckbox checkedchanged事件处理程序未触发的问题

Asp.net aspxcheckbox checkedchanged事件处理程序未触发的问题,asp.net,vb.net,devexpress,Asp.net,Vb.net,Devexpress,我在使用checkedchanged事件处理程序时遇到问题。 以下是我的场景: 我有一个位于DataItemTemplate内的aspxcheckbox 它位于gridviewdatacheckcolumn的内部 它位于aspxgridview的内部 这是我的aspx代码: <dx:ASPxGridView ID="gvCustomerCertificates" runat="server" AutoGenerateColumns="False" Caption="Customer Cer

我在使用checkedchanged事件处理程序时遇到问题。 以下是我的场景:

我有一个位于DataItemTemplate内的aspxcheckbox 它位于gridviewdatacheckcolumn的内部 它位于aspxgridview的内部

这是我的aspx代码:

<dx:ASPxGridView ID="gvCustomerCertificates" runat="server" AutoGenerateColumns="False" Caption="Customer Certificates" Width="100%">
                                <Columns>
                                    <dx:GridViewDataTextColumn FieldName="CertNo" ShowInCustomizationForm="True" 
                                        VisibleIndex="1" ReadOnly="True">
                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                    </dx:GridViewDataTextColumn>
                                    <dx:GridViewDataTextColumn FieldName="CustManufacturer" Caption="Manufacturer" ShowInCustomizationForm="True"
                                        VisibleIndex="2" ReadOnly="True">
                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                    </dx:GridViewDataTextColumn>
                                    <dx:GridViewDataTextColumn FieldName="CustDesc" Caption="Description" 
                                        ShowInCustomizationForm="True" VisibleIndex="3" ReadOnly="True">
                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                    </dx:GridViewDataTextColumn>
                                    <dx:GridViewDataTextColumn FieldName="CustModel" Caption="Model" 
                                        ShowInCustomizationForm="True" VisibleIndex="4" ReadOnly="True">
                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                    </dx:GridViewDataTextColumn>
                                    <dx:GridViewDataTextColumn FieldName="CustSerialNo" Caption="Serial No" ShowInCustomizationForm="True"
                                        VisibleIndex="5" ReadOnly="True">
                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                    </dx:GridViewDataTextColumn>
                                    <dx:GridViewDataTextColumn FieldName="CustControlNo" Caption="Control No" ShowInCustomizationForm="True"
                                        VisibleIndex="6" ReadOnly="True">
                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                    </dx:GridViewDataTextColumn>
                                    <dx:GridViewDataDateColumn FieldName="CalDate" ShowInCustomizationForm="True"
                                        VisibleIndex="7" ReadOnly="True">
                                        <PropertiesDateEdit DisplayFormatString="MM/dd/yyyy">
                                        </PropertiesDateEdit>
                                        <HeaderStyle Font-Bold="True" />
                                    </dx:GridViewDataDateColumn>
                                    <dx:GridViewDataTextColumn FieldName="CustAssetNo" Caption="Asset No" ShowInCustomizationForm="True"
                                        VisibleIndex="8" ReadOnly="True">
                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                    </dx:GridViewDataTextColumn>


                                     <dx:GridViewDataCheckColumn FieldName="Verified" Caption="Verified" ShowInCustomizationForm="True"
                                        VisibleIndex="9" >

                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                        <DataItemTemplate>
                                            <dx:ASPxCheckBox ID="chk" runat="server" AutoPostBack="True" OnCheckedChanged="check_Changed" ClientInstanceName="chk" Enabled="True" >
                                            </dx:ASPxCheckBox>
                                         </DataItemTemplate>       


                                    </dx:GridViewDataCheckColumn>


                                    <dx:GridViewDataTextColumn FieldName="VerifiedInitials" Caption="Initials" ShowInCustomizationForm="True"
                                        VisibleIndex="10">
                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                    </dx:GridViewDataTextColumn>
                                    <dx:GridViewDataHyperLinkColumn FieldName="PDFName" Caption="PDF" ShowInCustomizationForm="True"
                                        VisibleIndex="11" ReadOnly="True">
                                        <HeaderStyle Font-Bold="True"></HeaderStyle>
                                        <PropertiesHyperLinkEdit Target="_blank" Text="View">
                                            <Style ForeColor="#1FB259"></Style>
                                        </PropertiesHyperLinkEdit>
                                    </dx:GridViewDataHyperLinkColumn>
                                </Columns>
                                <Settings ShowFilterBar="Visible" ShowFilterRow="True" ShowHeaderFilterButton="True" />
                                <SettingsText EmptyDataRow="Currently no Certificates available for your account." />


                            </dx:ASPxGridView>
目前我所要做的就是让msgbox出现,以便我知道事件正在被触发,我的最终目标是在单击复选框时向数据库中插入一条记录,我将一条记录插入到与绑定到gridview的记录不同的表中,因此我必须使用insert语句,而不是将字段绑定到表中

请让我知道,如果你可以帮助或如果我需要澄清任何事情。
谢谢大家!

我遇到了一个类似的问题,dropdownlist没有触发selectedItemChanged事件。对我来说,在我发现IE11在某些事件上有问题之前,没有任何帮助。也许这是对您问题的简短回答。

我不确定VB消息框是否是检查是否在ASP.NET环境中调用该方法的正确方法。你尝试过check_Changed方法中的断点吗?我正在使用Google Chrome测试这个应用程序,我在该方法中也有断点,但我也在使用msgbox,该控件在单击时会进行回发,但它从未点击check_Changed方法,谢谢你查看我的问题。你能告诉我的任何信息都有帮助。
Protected Sub check_Changed(ByVal sender As System.Object, ByVal e As System.EventArgs)

    'test to see if event handler is firing
    MsgBox("Hey")

    Dim cb As ASPxCheckBox = TryCast(sender, ASPxCheckBox)

    Dim container As GridViewDataItemTemplateContainer = TryCast(cb.NamingContainer, GridViewDataItemTemplateContainer)
    cb.ClientInstanceName = String.Format("cbCheck{0}", container.VisibleIndex)
    cb.Checked = gvCustomerCertificates.Selection.IsRowSelected(container.VisibleIndex)


    ' creates a sql connection and opens it
    Dim scSQLConnection As SqlConnection = New SqlConnection() With {.ConnectionString = ConfigurationManager.ConnectionStrings.Item("Main").ConnectionString}
    scSQLConnection.Open()

    ' create a data table
    Try

        Dim sqlCommand As New SqlCommand() With {.CommandText = "INSERT INTO tblVerified VALUES (" + gvCustomerCertificates.Columns.Item("CertNo").ToString}

        Dim daCommand As SqlDataAdapter = New SqlDataAdapter(sqlCommand)
        daCommand.SelectCommand.Connection = scSQLConnection
        sqlCommand.CommandTimeout = 0
        sqlCommand.ExecuteNonQuery()

    Catch ex As Exception

    Finally

    End Try

    scSQLConnection.Close()

End Sub