在前台我是这样放Button的
<asp:datagrid id="dgPM" runat="server" PageSize="3">
<Columns>
  <asp:ButtonColumn Text="删除"ButtonType="PushButton"CommandName="Delete">
  </asp:ButtonColumn>
</Columns>
</asp:datagrid>
在后台,我找不到这个Button
对应的事件。
我想把button换成图片怎么做?
多谢帮助!!在线等

解决方案 »

  1.   

    private void projectinfo_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    e.Item.Attributes.Add("onclick","javascript:showbig()");
    e.Item.Attributes.Add("onclick","javascript:window.open('"+NavigaterUrl+"','MainFrameSetMain'),this.bgColor='#C1D2EE'");
    //不换行显示
    e.Item.Cells[0].Text =  "<nobr>&nbsp<a href='"+NavigaterUrl+"' target='MainFrameSetMain'><img src='../images/folder.small.png' border=0 height='16px'></img>"+e.Item.Cells[0].Text + "</a></nobr>"; 
    for(int i=1;i<e.Item.Cells.Count;i++)
    {

    e.Item.Cells[i].Text = "<nobr>&nbsp"+e.Item.Cells[i].Text+"</nobr>";
    }


    }
    }
    }
      

  2.   

    Private Sub dgPM_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgPM.ItemCommand
            if e.CommandName="Delete" Then
               ........
            end if
        End Sub    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            if Not Ispostback then    '无此判断你的事件是不会响应的。
                dgPM.datasource=数据源
                dgPM.dataBind()
            end if
        end Sub
      

  3.   

    要把按钮换成图片按钮,你就加上模板列,去里边添加就行了。图片按钮的CommandName一定要设置。
    后边的操作就和上边是一样的了。
      

  4.   

    <itemtemplate>
    <Literal Text="<%#geturl(DataBinder.Evel(.......))%> id='aaa" runat=server></Literal>
    </itemtemplate>
    cs file:public string geturl(object obj)
    {
    string rrr="<img src='....{0}' onclick='.....>"; // or "<a href='......
    rrr=string.format(rrr,obj);
    return rrr;
    }