<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这里呢?
<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这里呢?
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);
在Reperter的ItemDataBound事件里
((Image)e.Item.FindControl("Image1")).Attributes.Add("onclick","upPic('"+Image1.ClientID+"','face')");
=====
没必要吧,每个绑定的图片都链接到绑定的地点
该这么写
Image img=(Image)e.Item.FindControl("Image1");
img.Attributes.Add("onclick","upPic('"+img.ClientID+"','face')");刚才那样取不到Image1的ClientID
在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')");这样就可以了