在前台:         <ItemTemplate>
                                <asp:ImageButton  ID="img00"   CommandName="Select"  OnClick ="dategrid1_ItemDataBound"  ImageUrl='<%#Eval("ImagePath") %>' runat="server"  />
                            </ItemTemplate>
后台用什么事件能取出其他列的值呢?比如:点击图片链接,同行的一个字段能取出。     急
谢了

解决方案 »

  1.   

    用 CommandArgument 属性存储
      

  2.   

     <ItemTemplate> 
     <asp:ImageButton  ID="img00"  CommandName="Select"  OnClick ="dategrid1_ItemDataBound"  ImageUrl=' <%#Eval("ImagePath") %>' runat="server"  CommandArgument='<%#Eval("ImagePath") %>' /> 
     </ItemTemplate> 然后在ItemCommand事件中
    if (e.CommandName == "Select")
    {
      string str=e.CommandName.ToString();
    }
      

  3.   

    我知道一个过时的方法:就是在    添加的按钮的 html 代码里面  加一句 commandName=" <%# container.dataItemIndex %>" 
    而后在 按钮的点击事件里写  button btn=sender as button; int i=int.pase(btn.commandName); 
    gridviewrow row=gridview1.rows[i]; 
    如此 row 就是当前点击行。 
    ..................
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
        { 
            if (e.Row.RowType == DataControlRowType.DataRow) 
            { 
    e.Row.Attributes.Add("onclick", e.Row.ClientID.ToString() + ".checked=true;Up_Click(this)"); 
    //RowDataBound 增 行单击事件 this:行;e.Row.RowIndex:行索引 
            } 
        } 
    JS: 
    function selectx(row)  //ROW 参数为行对象,可取到行索引,行的数据等等 

                var data = document.getElementById("dataid"); 
                data.value =  row.cells[0].innerHTML; 
                
        } 
    ........................
    你在gridview中添加了一个模版列里面弄了一个按钮 
    在girdview的rowcommand里面
    Button btn = e.CommandSource as Button; 
            Control c = btn.NamingContainer; 
            GridViewRow row = c as GridViewRow; 
            int index = row.RowIndex;
    .................
    e.Row.Attributes.Add("onclick","selectx(this)"); 
    //RowDataBound 增 行单击事件 this:行;e.Row.RowIndex:行索引 
    .................
    C# code
    protected void Button1_Click(object sender, EventArgs e)
    {
        GridViewRow gvr = (sender as Button).NamingContainer as GridViewRow;
        if(gvr != null)
        {
            int index = gvr.RowIndex;//index就是所点击行的行索引
        }
    }
      

  4.   

    获得行 后  row.cell[int index(第几列列数)].text 就能取到 相应列值了
      

  5.   

    CommandArgument=' <%#Eval("ID") %>'这样 就可以通过CommandArgument 获得同行的ID了
      

  6.   

    http://blog.csdn.net/xianfajushi/archive/2009/11/05/4774105.aspx