<%@ Page Language="VB" runat="Server"%>
<%@ Import Namespace="System.Data.OLEDB" %>
<%@ Import Namespace="System.Data" %>
<HTML>
<HEAD>
<title>[考题 第五单元]</title> 
<!--以上是引入连接数据库必要的名称空间-->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<body>
<form id="Form1" runat="server">
<h4>第五单元 第十二题</h4>
<asp:DataGrid id="objDataGrid" Runat="server"  OnItemCommand="Grid_Command" HeaderStyle-BackColor="#009999"
width="528px" Font-Size="13px" Font-Name="宋体" BackImageUrl="Y5-PIC04.gif" GridLines="Vertical"
Height="112px" PageSize="6" Font-Names="宋体" AutoGenerateColumns="True" AllowPaging="False">
<HeaderStyle BackColor="#009999"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="单击这里" ButtonType="PushButton" HeaderText="操作列" />
</Columns>
</asp:DataGrid>
<br>
<b>
<asp:Label ID="Label1" Runat="server"></asp:Label></b>
<SCRIPT language="VB" runat="Server">
                Sub Grid_Command(sender As Object, e As DataGridCommandEventArgs)
                   Label1.Text = "用户的电子信箱是" +e.Item.Cells(4).TEXT+ " 操作完成。" 
                End Sub
</SCRIPT>
</form>
<Script Language="VB" runat="Server">
 Dim StartIndex As Integer
 Sub BindGrid() 
  Dim strConnString as String
  Dim DBPath as String="Y5-12.mdb"
  strConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath(DBPath)
  Dim objConn as OLEDBConnection
  objConn=New OLEDBConnection()
  objConn.ConnectionString=strConnString
  objConn.Open()
  Dim strSQL As String
  strSQL="Select * from myuser;"
  Dim objCmd As OLEDBDataAdapter
  objCmd=New OLEDBDataAdapter(strSQL,objConn)
  Dim objDataSet As DataSet
  objDataSet=New DataSet
  objCmd.Fill(objDataSet)
  objDataGrid.DataSource=objDataSet.Tables(0).DefaultView
  objDataGrid.DataBind()
 End Sub 
 Sub Page_Load(Sender As Object,e As EventArgs)
  If Not IsPostBack Then
    StartIndex=0
  End If
  BindGrid  
 End Sub
 Sub ChangePage(sender As Object,e As DataGridPageChangedEventArgs)
  StartIndex=e.NewPageIndex*objDataGrid.PageSize
  objDataGrid.CurrentPageIndex=e.NewPageIndex
  BindGrid
 End Sub
</Script>
</body>
</HTML>

解决方案 »

  1.   

    <SCRIPT language="VB" runat="Server">
                    Sub Grid_Command(sender As Object, e As DataGridCommandEventArgs)
                       Label1.Text = "用户的电子信箱是" +e.Item.Cells(4).TEXT+ " 操作完成。" 
                    End Sub
    </SCRIPT>
    怎么也不触发这个事件,不知道咋回事
      

  2.   

    2003用得不熟
    我想你应该没有指定事件名字吧
    <asp:ButtonColumn Text="单击这里" ButtonType="PushButton" HeaderText="操作列" />
    这里有个属性是事件参数名
      

  3.   

    应该是这样的:
    <asp:TemplateField>
                            <itemstyle width="50px" />
                            <itemtemplate>
                        <asp:LinkButton id="LinkButton1" runat="server" CommandName="Check" CommandArgument='<%# Bind("IsCheck") %>' Text='<%# Bind("CheckText") %>'></asp:LinkButton>
                        
    </itemtemplate>
                        </asp:TemplateField>
      

  4.   

    楼上正解,楼主忘记写COMMANDnamE属性了
    然后在ITEMCOMMAND事件中还要做一个判断if(e.commandname=="Check")
    {
        ....
    }
      

  5.   

    <asp:DataGrid id="objDataGrid" Runat="server"  OnItemCommand="Grid_Command" HeaderStyle-BackColor="#009999"
                    width="528px" Font-Size="13px" Font-Name="宋体" BackImageUrl="Y5-PIC04.gif" GridLines="Vertical"
                    Height="112px" PageSize="6" Font-Names="宋体" AutoGenerateColumns="True" AllowPaging="False">
                    <HeaderStyle BackColor="#009999"></HeaderStyle>
                    <Columns>
                        <asp:ButtonColumn Text="单击这里" ButtonType="PushButton" HeaderText="操作列" />
                    </Columns>
                </asp:DataGrid>
    OnItemCommand="Grid_Command" //这里不是定义了DataGrid 的OnItemCommand事件了吗?
      

  6.   

    Sub Page_Load(Sender As Object,e As EventArgs)
      If Not IsPostBack Then
        StartIndex=0
      End If
      BindGrid  
     End Sub
    改成
    Sub Page_Load(Sender As Object,e As EventArgs)
      If Not IsPostBack Then
        StartIndex=0
        BindGrid  
      End If
     End Sub