DataBinder.Eval(aspx内联中的Container.DataItem

时间:2018-07-19 13:09:03

标签: asp.net

已要求我编辑.aspx脚本(我不是aspx开发人员)

我需要在名为PartnerStatus的列中添加if else语句。如果值为True,则显示为活动,如果值为false,则显示为未决。不幸的是,我没有访问.dll文件的权限,因此我希望可以将其添加到嵌入式aspx脚本中,但我一直在挣扎。以下是项目模板的代码段。

<asp:Repeater ID="PartnerList" runat="server">
<ItemTemplate>
<tr>
<td><asp:Button ID="btnView" runat="server" CssClass="blBtn" CommandName="View" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"PartnerID") %>' OnClick="btn_Click"  Text="Edit" /></td>
<td><%# DataBinder.Eval(Container.DataItem,"Ref") %></td>
<td><%# DataBinder.Eval(Container.DataItem,"Name") %></td>
<td><%# DataBinder.Eval(Container.DataItem,"Contact") %></td>
<td><%# DataBinder.Eval(Container.DataItem,"Email") %></td>
<td><%# DataBinder.Eval(Container.DataItem,"Phone") %></td>
<td><%# DataBinder.Eval(Container.DataItem,"PartnerStatus") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>

1 个答案:

答案 0 :(得分:0)

您可以内联使用三元运算符。

<td><%# Convert.ToBoolean(Eval("PartnerStatus")) == true ? "Active" : "Pending" %></td>

请注意,此代码假定PartnerStatus的值始终为True或False。

或者如果您想保留相同的代码

Convert.ToBoolean(DataBinder.Eval(Container.DataItem,"PartnerStatus")) == true ? "Active" : "Pending"