如何在.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" />
您的字符串混合了"
和'
——内部的'
最终界定了CssClass
属性值的末尾。
您只需要使用一个类型。
一个复杂的问题是,要使用字符串计算索引属性,必须使用C#字符串,因此'
不是有效的分隔符,必须使用"
。
您可以通过加倍它们来转义HTML源代码中的"
:
ExtendedProperties[""ShowDetail""]