我试图根据条件在名称旁边放置一个*.
我的代码:
<asp:Label ID="lblOne" runat="server" Text= '<%# Eval("name") + ((Eval("StatusId").Equals(0) && Eval("assignfilename") == null) ? " *" : "") %>' > </asp:Label>
谢谢
BB
解决方法
如果你用内联代码推动你可以轻松处理的极限,你总是可以编写一个函数.然后你可以这样做:
<asp:Label ID="lblOne" runat="server" Text= '<%# EmitSomeText(Eval("name"),Eval("StatusId"),Eval("assignfilename")) %>' />
这可以让你将一个复杂的表达式分解成它需要的许多行,这可能有点不那么尴尬.您可以在CodeBehind或任何其他类中使用函数.
如果您绑定到您有权访问的类,则可以添加只读属性.然后你可以做像Eval(“MyNewProperty”)这样的事情.
我用它来暴露我需要重用的格式.例如,Customer.CustomerFullName可能首先返回的姓氏为逗号(智能处理缺少一个或两个或两者的情况)加上可选标题,因为我的客户可能是医疗人员,其中一些人拥有博士和医学博士.