首页 新闻 会员 周边 捐助

在Repeater中使用IF?

0
悬赏园豆:10 [已解决问题] 解决于 2008-09-23 11:49

这是我的代码:

<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)也不行。请教??

Astar的主页 Astar | 高人七级 | 园豆:40805
提问于:2008-09-23 10:44
< >
分享
最佳答案
0

可以在此处先放一个<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控件消失

}

Gray Zhang | 专家六级 |园豆:17610 | 2008-09-23 10:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册