如何在.NET中使用Eval将字符串放入CssClass

本文关键字:字符串 CssClass Eval NET | 更新日期: 2023-09-27 18:21:49

当我在aspx页面中的中运行下面的代码时,它的工作没有任何问题。

<%# (DataBinder.Eval(Container.DataItem,"ExtendedProperties['ShowDetail']")) == null ? "show showdetail" : ( (bool)(DataBinder.Eval(Container.DataItem,"ExtendedProperties['ShowDetail']")) == true ?  "showdetail hide" : "show showdetail ") %>

但当我把它放在按钮的属性上时,它会说服务器标签无效。有什么问题

<asp:Button ID="btnShowDetail" OnClick="BindRecommendation" Text="" runat="server"
CssClass='<%# (DataBinder.Eval(Container.DataItem,"ExtendedProperties['ShowDetail']")) == null ? "show showdetail" : ( (bool)(DataBinder.Eval(Container.DataItem,"ExtendedProperties['ShowDetail']")) == true ?  "showdetail hide" : "show showdetail ") %>' BorderStyle="None" />

如何在.NET中使用Eval将字符串放入CssClass

您的字符串混合了"'——内部的'最终界定了CssClass属性值的末尾。

您只需要使用一个类型。

一个复杂的问题是,要使用字符串计算索引属性,必须使用C#字符串,因此'不是有效的分隔符,必须使用"

您可以通过加倍它们来转义HTML源代码中的"

ExtendedProperties[""ShowDetail""]