这是我的代码:
<asp:Repeater....>
<% if (想使用某个字段的值来做判断 == "2") { %>
<asp:Image ImageUrl='<%# "~/"+Eval("imgsrc") %>' Width="150" Height="150" runat="server" id="ImgSrcY" />
<% } %>
</asp:Repeater>
我试着使用用了Eval("flag").ToString(),但是此方法不能绑定到非控件上。
还有在上面又添了个控件,把Eval("flag").ToString()赋给它,再在下面调用(LabFlag.Text)也不行。请教??
可以在此处先放一个<asp:Image>控件,随后在后台的ItemDataBound事件中给其赋值,比如前台有
<asp:Image ID="Img" runat="server" />
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Image img = (Image)e.Item.FindControl("Img"); //注意参数名Img正是前台的ID
string flag = DataBinder.Eval(e.Item.DataItem, "flag").ToString();
if (flag == 2) img.ImageUrl = "~/" + DataBinder.Eval(e.Item.DataItem, "imgsrc");
else img.Visible = false; //让Image控件消失
}