Dot-Net

在 asp.net 中使用 if 和 eval(’')

  • June 11, 2013

我正在使用中繼器在新聞部分顯示新聞。在我的新聞部分,我有 2 個標籤(標題、描述)和一個圖像欄位。下面是我用來填充中繼器的程式碼:

<asp:Repeater ID="rptNews" runat="server">
<ItemTemplate>
<asp:Image ID="newsImage" runat="server" ImageUrl='<%#String.format("../Images/News/{0}", Eval("newsImage")) %>' />
<asp:Label ID="newsTitle" runat="server" Text='<%#Eval("newsTitle") %>'></asp:Label>
<br />
<asp:Label ID="newsDescription" runat="server" Text='<%#Eval("newsDescription") %>'></asp:Label>
<br />
<div class="clear"> </div>
</ItemTemplate>

</asp:Repeater>

我想使用 if 語句,例如,如果 Eval(“newsImage”) 為空,那麼我想禁用圖像控制項並只顯示 news 的標題和描述。關於如何實現這一點的任何建議。

應該像…Visible='<%# Eval("newsImage").ToString() != "Null" %>'

<asp:Image ID="newsImage" runat="server" Visible='<%# Eval("newsImage").ToString() == "Null" %>'  ImageUrl='<%#String.Format("../Images/News/{0}", Eval("newsImage")) %>' />

將 Visible 屬性添加到您的 Image 標籤:

  Visible="<%# Eval("newsImage") != null %>"

儘管在這種情況下使用ItemDataBound事件可能會更好,但它非常易於使用。

引用自:https://stackoverflow.com/questions/5649485