如果Eval(“缩略图”)为空时如何显示默认图像 - asp .net
问题描述:
如果用户没有上传任何缩略图的新闻文章,我正尝试上传默认缩略图图像。你能帮忙吗?如果Eval(“缩略图”)为空时如何显示默认图像 - asp .net
我想在第一,但它没有工作:
<%#Eval("Thumbnail")!=null ? Eval("Thumbnail"):"~/Images/test.jpg"%>" alt="<%#Eval("Title") %>"
我有一个中继器下面的代码:
<asp:Repeater ID="rptRotator" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<div class="widgetContent">
<img class="thumbNail" src="<%#Eval("Thumbnail") %>" alt="<%#Eval("Title") %>" />
<h4 style="width: 155px;">
<a href="/news/<%#Eval("PublicationDate","{0:yyyy/MM/dd}")%>/<%#Eval("UrlName") %>">
<%#Eval("Title") %></a></h4>
<div class="clear">
</div>
<span class="newsDate">
<%# Eval("PublicationDate", "{0:dd MMMM yyyy}")%></span>
<div class="widgetTextSummary">
<p>
<%#Eval("Summary").ToString().Substring(0,60)%>...</p>
</div>
</div>
</li>
</ItemTemplate>
<FooterTemplate>
</ul></FooterTemplate>
</asp:Repeater>
答
如何给你的财产Thumbail默认值?
然后,当缩略图未设置为非空值时,将显示默认图像,否则会显示用户缩略图。
答
一个简单的方法是创建一个公共方法,您可以使用它来确定数据项是否为null并进行相应设置。这样你就不必把所有的代码放在一起。这样,你会在VB.NET中这样的事情在后面的代码:
Public Function ProcessDataItem(myDataItemValue As Object) As String
If myDataItemValue Is Nothing Then Return "~/Images/test.jpg"
Return myDataItemValue.ToString()
End Function
然后调用它在转发:,我建议使用Container.DataItem
而不是Eval
,因为它创造
<%# ProcessDataItem(Eval("Title")) %>" alt="<%#Eval("Title") %>"
而且较少的开销。那么到底它会是这样的:
<%# ProcessDataItem(Container.DataItem("Title")) %>" alt="<%#Container.DataItem("Title") %>"
答
下列之一应该工作:
<%# Eval("Thumbnail") ?? "/images/default.png" %>
<%# Eval("Thumbnail") == DBNull.Value ? "/images/default.png" : Eval("Thumbnail") %>
答
<asp:Image ID="imgProd" runat="server" src="<%#Eval('Thumbnail')"
onerror="this.onload = null; this.src='ImageurlORAnyImageHere.jpg';"/>