<A style="COLOR: #31599d" onclick="upPic('', 'face')" href="#">
<asp:Image ID="Image1" Runat="server" ImageUrl='<%# DataBinder.Eval(Container, "DataItem.FilePath")%>'>
</asp:Image>
</A>
这里的Image控件是放在Reperter中的.不能直接获取Image的ID.
我在Reperter的ItemDataBound事件里重新设置了它的ID ="Image1"
但是这样生成的ID值是Repeater1__ctl3_Image1这样的.而且根据Reperter的行在变动.
比如Repeater1__ctl31_Image1,Repeater1__ctl2_Image1等.
我如何将Image的ID值传到onclick="upPic('ID', 'face'),ID这里呢?

解决方案 »

  1.   

    有很多方法不使用web控件直接<img src='<%#   DataBinder.Eval(Container,   "DataItem.FilePath")%>' id="images1" />
      

  2.   

    第二种方法
    string ID =String.Empty;
            for (int i = 0; i < Repeater1.Items.Count; i++)
            {
                Label L = (Label)Repeater1.Items[i].FindControl("Label1");
                ID = L.ClientID;
            }        Response.Write(ID);
      

  3.   


    在Reperter的ItemDataBound事件里
    ((Image)e.Item.FindControl("Image1")).Attributes.Add("onclick","upPic('"+Image1.ClientID+"','face')");
      

  4.   

    我如何将Image的ID值传到onclick="upPic('ID',   'face'),ID这里呢?
    =====
    没必要吧,每个绑定的图片都链接到绑定的地点
      

  5.   

    不好意思刚才写错了
    该这么写
    Image img=(Image)e.Item.FindControl("Image1");
    img.Attributes.Add("onclick","upPic('"+img.ClientID+"','face')");刚才那样取不到Image1的ClientID
      

  6.   

    asmetoyou 的方法OK,马上给分,谢了!
      

  7.   

           <asp:HiddenField  ID="HF_id" runat="server" Value='<%#Eval("id") %>'/>
    在Reperter里面写一个隐藏域。在里面绑定ID然后在Reperter的ItemDataBound事件里 
     HiddenField id= e.Item.FindControl("lblQuantity") as HiddenField;//取得ID
    然后在找image控件
    ((Image)e.Item.FindControl("Image1")).Attributes.Add("onclick","upPic('"+id+"','face')");这样就可以了