0

我有一个包含值的表

ID     PicURL            FilePath
1      www.a.com/1.png   NULL
2      NULL              ~/Images/2.jpeg

在我后面的代码中

<asp:Image ID="imageControl" runat="server" Width="100" ImageUrl='<%#Eval("FilePath")%>'></asp:Image>

当 FilePath 为 null 并且 ImageURL 必须从 PicURL 获取值时,如何包含这种情况?

谢谢拉什米

4

3 回答 3

2

如果您不想更改数据结构或查询...并且想在代码前面执行此操作,则可以这样做(尽管在 ItemDataBound 中执行此操作更简洁):

<asp:Image ID="imageControl" runat="server" Width="100" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "FilePath") != null ? Eval("FilePath") : Eval("PicURL")  %>'></asp:Image>
于 2014-01-29T18:52:53.830 回答
0

为什么不创建一个计算字段/属性并在那里执行逻辑然后绑定该属性?

于 2014-01-29T18:34:59.957 回答
0

您可以更改 SQL 查询以根据不为空的值返回 PicURL 或 FilePath。您可以颠倒字段列表的顺序,具体取决于哪个字段应优先。

SELECT Id, Isnull(PicURL, FilePath) as ImageUrl from tblImage

<asp:Image ID="imageControl" runat="server" 
Width="100" ImageUrl='<%#Eval("ImageUrl")%>'></asp:Image>
于 2014-01-29T19:37:33.210 回答