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

How to control <li> list item visibility using Eval

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

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

或:

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

但是为什么不能使用“Eval”方法来完成呢? None 这些作品:

<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 的整数。

答案是什么?

尝试

<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;