我有以下代码,它应该检查DataList(月)中的变量是否与称为mesActual的变量相同,它们是文本(例如12月/ 11月)

      <li id="Li1" class='<%# (Convert.ToBoolean(Convert.ToString(Eval("Month")) == Convert.ToString(mesActual))) ? "activa" : "no-activa" %>'>
           <asp:LinkButton ID="lnkbtn" runat="server" CommandName="Select" CommandArgument='<%#Eval("Month")%>'><%#Eval("Month")%></asp:LinkButton>
           <div class="btn"><span><asp:Label ID="lbltot" runat="server"></asp:Label></span></div>
      </li>


在页面加载时,它似乎起作用,选择了第一项并分配了“ activa”类,但是当我单击按钮时,它重新加载了页面,我可以看到我的变量“ mesActual”已更改,但是li的类不会改变。
我想念什么吗?
谢谢!

最佳答案

尝试使用Equals方法而不是==运算符进行比较。这将比较字符串值和引用。

另外,您不需要将其包装在Convert.ToBoolean()中,因为Equals方法的结果将返回布尔值。

Eval(“ Month”)。Equals(Convert.ToString(mesActual))吗? “ activa”:“ no-activa”

10-08 11:53