不是阿,应该可以的,不过你要这样用了
<asp:datagrid id="AccidentDataGrid" runat="server" DataKeyField="故障编号" AutoGenerateColumns="False">
<asp:ButtonColumn HeaderText="故障编号" DataTextField="故障编号" CommandName="View"></asp:ButtonColumn>
</asp:datagrid>
    Private Sub AccidentDataGrid_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles AccidentDataGrid.ItemCommand
        If e.CommandName = "View" Then
            'Response.Write(AccidentDataGrid.DataKeys(e.Item.ItemIndex))
            AccidentLoad = 1
            AccidentView()
            Accident_Datalist_Bind(AccidentDataGrid.DataKeys(e.Item.ItemIndex))
        End If
    End Sub