我用一个DataGrid控件绑定数据,在控件里面添加一个模版列.在列里放一个ImageButton.怎么样才能产生ImageButton这个事件类..我主要是想做一个购物车.想把数据库里面的数据读取出来,然后放置购物车.
第一个DataGrid是从数据库里面读取数据,然后放置一个ImageButton按钮点击后把数据放置购物车.
小弟我是个菜鸟想请各位CSDN里面的大虾帮帮我...
急..在线等....

解决方案 »

  1.   

    设置ImageButton的CommandName属性,在DataGrid的ItemCommand中获取e.CommandName参数来判断是哪个ImageButton触发的事件
      

  2.   

    设置ImageButton的CommandName属性=kiss
    然后在itemcommand事件里面写如下代码
    if(e.commandname=="kiss")
    {
       kiss()
    }
      

  3.   

    ImageButton是放在itemtemplate里面么?
      

  4.   

    private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {

    if(e.CommandName=="AddToCart")
    {
    Response.Write("ds");
    }
    DataGrid1.DataBind();
    }
      

  5.   

    右击-》编辑模板列-》双击ImageButton-》写你的事件???
      

  6.   

    使用ImageButton和Button时,一定要判断是否IsPostBack如果没有判断,直接进行数据绑定,将无法再触发ItemCommand事件.如果在触发ItemCommand事件之前进行了数据绑定同样会导致无法执行到ItemCommand事件.而LinkButton无此限制
      

  7.   

    你的page_load事件里面有关datagrid的绑定是否写在if(!IsPostBack){这里?}
      

  8.   

    你看看datagrid属性框里面itemcommand事件是否有相应的事件显示?有可能是事件丢失了
      

  9.   

    感谢各位大哥对小弟的关照,我测试了大家给我写的方法.还是不行.
    我还想问一下怎么样才能把数据库的数据保存放置到DataGrid控件里面.
      

  10.   

    呵呵http://www.cnblogs.com/lovecherry/archive/2005/05/15/155835.html
    给你这个链接咯
    你自己好好研究下
      

  11.   

    http://www.cnblogs.com/singlepine/archive/2005/11/01/266538.html
    还有这个
      

  12.   

    在次感谢 : jimu8130(虚荣心发作了,想得到msmvp称号发疯了) 
      

  13.   

    private void dgShow_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    switch(e.Item.ItemType)
    {
    case ListItemType.Item:
    case ListItemType.EditItem:
    case ListItemType.AlternatingItem:
    Button    myDeleteButton = (Button)e.Item.FindControl("btnDelete");
    myDeleteButton.Text = "删除此行";
    myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除第 " + e.Item.ItemIndex.ToString() + " 行吗?');");
    break;
    }
    }
      

  14.   

    fds2003(Hunter)这为大虾代码好像跟我的有点不挂钩吧?
    不过还是要感谢.
      

  15.   

    .aspx:
    <asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 72px; POSITION: absolute; TOP: 56px" runat="server">
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:ImageButton ID="imgBtn" Runat="server" CommandName="yourCmdName"></asp:ImageButton>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>.vb
    Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
        If e.CommandName = "yourCmdName" Then
            '在这里写imagebutton_click时要执行的动作
        End If
    End Sub.cs:
    private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) 

     if (e.CommandName == "yourCmdName") { 
    // 在这里写imagebutton_click时要执行的动作
     } 
    }
      

  16.   

    现在主要是实现
    一个购物车.想把数据库里面的数据读取出来,然后放置购物车.
    第一个DataGrid是从数据库里面读取数据,然后放置一个ImageButton按钮点击后把数据放置购物车.
      

  17.   

    <asp:DataGrid id="dgEdit" runat="server" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px"
    BackColor="White" CellPadding="4" AutoGenerateColumns="False" DataKeyField="EmployeeID" Width="320px">
    <SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
    <ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
    <FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
    <Columns>
    <asp:TemplateColumn HeaderText="LastName">
    <ItemTemplate>
    <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.LastName") %>' ID="Label1" NAME="Label1">
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="FirstName">
    <ItemTemplate>
    <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FirstName") %>' ID="Label2" NAME="Label2">
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="City">
    <ItemTemplate>
    <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.City") %>' ID="Label3" NAME="Label3">
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox runat="server" ID="txtCity" Text='<%# DataBinder.Eval(Container, "DataItem.City") %>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="&lt;img src=images/save.gif border=0 alt='保存'/&gt;"
    CancelText="&lt;img src=images/cancel.gif border=0 alt='取消'/&gt;" EditText="&lt;img src=images/edit.gif border=0 alt='编辑'/&gt;"></asp:EditCommandColumn>
    </Columns>
    <PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
    </asp:DataGrid>
      

  18.   

    给DataGrid的属性加上DataKeyField="ID" private void dgEdit_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    //设置e.Item.ItemIndex;
                               string strID=gridList.DataKeys.Item(e.Item.ItemIndex).ToString()
    //再写程序把此条加入到购物车中
    }不知这样能不能达到楼主的要求.
      

  19.   

    LZ 直接查  MSDN 不就行了.........
      

  20.   

    楼主结贴呀,
    很详细了^_^另外, 《asp.net揭密》讲这个很清楚。