gpt4 book ai didi

c# - 如何在我的 ASP.NET ListView 中创建 If 子句?

转载 作者:太空宇宙 更新时间:2023-11-03 19:19:12 25 4
gpt4 key购买 nike

我有一个带有 ListView 的 ASP.NET 应用程序。 ListView 从 DataTable 获取数据,如果我的 ListView 构建了我有一个 if 子句的 itemtemplate,我想在里面更改图像。

例如:

我的 DataTable 有一个名为 Enable 的列。这可以有两个值。第一个值为 0,第二个为 1。如果我的列中的值为 0,我想要 a.png,如果我的 asp:image 控件(在我的 ListView 中)中有 1 个其他图像。

这是我的 aspx 站点:

...

   <ItemTemplate>
<tr onmouseover="this.style.backgroundColor='#87CEFA'"
onmouseout="this.style.backgroundColor='#ffffff'">
<td align="left"><span class="spanpading"><asp:Label ID="lblname" Text='<%# Eval("NAME") %>' runat="server" /></span></td>
<td align="left"><span class="spanpading"><asp:Label ID="lblcompany" Text='<%# Eval("COMPANY") %>' runat="server" /></span></td>
<td align="left"><span class="spanpading"><asp:Label ID="lblVon" Text='<%# Eval("TIMEFROM") %>' runat="server" /></span></td>
<td align="left"><span class="spanpading"><asp:Label ID="lblBis" Text='<%# Eval("TIMETO") %>' runat="server" /></span></td>
<td align="left"><span class="spanpading"><asp:Label ID="lblErsteller" Text='<%# Eval("CREATOR") %>' runat="server" /></span></td>
<td align="left"><asp:ImageButton ID="imgDelete" runat="server" ToolTip="löschen" ImageUrl="images/delete.gif" CommandName="DeleteClick" CommandArgument='<%# Container.DataItemIndex %>' /></td>
<td align="left"><asp:ImageButton ID="imgUpdate" runat="server" ToolTip="ändern" ImageUrl="images/edit.gif" CommandName="UpdateClick" CommandArgument='<%# Container.DataItemIndex %>' /></td>
<td align="left"><asp:ImageButton ID="imgEmail" runat="server" ToolTip="Zugangsdaten senden" ImageUrl="images/send.gif" CommandName="SendClick" CommandArgument='<%# Container.DataItemIndex %>' /></td>
<% if ()
{ %>

<td align="left"><asp:Image ID="imgActive" runat="server" ToolTip="Aktiv" Width="25px" Height="25px" ImageUrl="images/yes.gif"/></td>

<% } %>

<td><asp:Label ID="lblID" runat="server" Text='<%# Eval("ID") %>' Visible="False" ></asp:Label></td>
</tr>
</ItemTemplate>

...

最佳答案

您可以使用 block 元素,例如<span> ,使其在服务器上运行并根据数据绑定(bind)元素切换其可见性。

例如:

<span runat="server" Visible='<%# Eval("IsConditionTrue") %>'>
<!-- ... Place your conditionally visible tags here inside ... -->
</span>

如果您无法评估单个条件,您还可以使用更复杂的语句,例如

<span runat="server" 
Visible='<%# (int)Eval("SomeValue")==1 && (bool)Eval("SomeOtherValue") %>'>
<!-- ... Place your conditionally visible tags here inside ... -->
</span>

最后是您的具体示例,我认为您可以执行以下操作:

<span runat="server" Visible='<%# (int)Eval("Enable")==1 %>'>
<asp:Image ImageUrl="images/yes.gif" />
</span>
<span runat="server" Visible='<%# (int)Eval("Enable")!=1 %>'>
<asp:Image ImageUrl="images/no.gif" />
</span>

当然,Mhd. Yasseen's answer对于你的情况来说似乎是最短的:

<asp:Image ImageUrl='<%# (int)Eval("Enable")==1 ? "yes.gif" : "no.gif" %>' />

请注意,您必须添加额外的属性,例如 runat="server"给你的Image标签,就像你原来的问题一样。为了便于阅读,我在上面的代码中省略了它们。

关于c# - 如何在我的 ASP.NET ListView 中创建 If 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13703409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com