现在有一个datagrid
第一列我放了一个“选择”的按钮用来选择这一行第二列和第三列分别是这样的
<asp:label id="labCustomerName" runat="server"></asp:label><asp:HyperLink id="lnkSelectImage" runat="server" NavigateUrl='' Visible=false>
<asp:Image ID="imgSelect" runat="server" Width="120px" Height="30px" ImageUrl=''></asp:Image>
</asp:HyperLink>当然第二列的值很好取得,我是这样做的e.Item.Cells[1].Text
但是我要取得第三列中图片的NavigateUrl,Visible,ImageUrl有困难
请高手帮帮我
在线等

解决方案 »

  1.   

    你可以在DataGrid的ItemCommand事件中判断是否点击了“选择”
    如果是就可以获取Image,这样不就可以得到它的值了吗?
      

  2.   

    那个事件我已经写了
    public void  OnItem(Object sender,DataGridCommandEventArgs e)
    {
    labCustomerName.Text=e.Item.Cells[1].Text;
    }
    我现在的问题是获取不到图片的信息
      

  3.   

    你可以用
    ImageButton btnTemp = (ImageButton)e.Item[2];//其中2也可以是你的ImageButton的名字
    这样你就得到了你的ImageButton了啊
    如果是Image就把上面的ImageButton改成Image就可以了啊
    在得到了控件以后,它的掺属性你都是可以获取到的啊
      

  4.   

    不好意思,应该是(Image)e.Item.Cells[2]
    或者用Image)e.Item.FindControl("imgSelect")
    这样来获取控件
      

  5.   

    就在你的
    labCustomerName.Text=e.Item.Cells[1].Text;
    下面加上
    Image myImage = (Image)e.Item.FindControl("imgSelect");
    这样你就得到你DataGrid中的Image
    你就可以通过myImage来获取你所需要的属性值
    你如果用的是c#的话我建义你用ItemCommand事件
    这个事件是在你点击DataGrid中的任何一个Button的时候触发的
    在这个事件里面你可以通过
    if (e.CommandName.Equals("aa"))//aa为labCustomerName的commandname属性的值
    {
    labCustomerName.Text=e.Item.Cells[1].Text;
    Image myImage = (Image)e.Item.FindControl("imgSelect");
    //在此你就可以对myImage进行你所需要的任何操作}