如何使用Eval控制<li>列表项可见性</li>

时间:2015-03-06 12:39:05

标签: asp.net eval

在无序列表中,可以设置单个列表项的可见性:

<li runat="server" visible=false>Apples</li>

或:

<li runat="server" visible="false">Bananas</li>

但为什么不能用'Eval'方法来完成呢?这些都不起作用:

<li runat="server" visible='<%# Eval("Show")%>'>Carrots</li>

- 其中Show是一个值为0或1的位。

<li runat="server" visible='<%# Convert.ToBoolean(Eval("Show"))%>'>Dill</li>

- 其中Show是一个值为“true”或“false”的字符串,或者是0或1的整数。

答案是什么?

1 个答案:

答案 0 :(得分:0)

尝试

<li runat="server" Visible='<%# Eval("Show").ToString() == "1" %>' ID="bananaItem">Bananas</li> 

如果这不起作用,如果它有runat="server"和ID,您也可以使用代码隐藏:

使用CSS(在客户端可用):

// make it invisible
bananaItem.Attributes.CssStyle.Add("display", "none");
// make it visible:
bananaItem.Attributes.CssStyle.Remove("display");

Visible - 属性(不在客户端提供,根本不提供):

bananaItem.Visible = false;