我正在使用 asp.net 的中继器控制。我使用数据库表中的两列查询和回复来填充数据。如果查询或回复列为空白,那么我不希望它与空白行重复。那么我如何检查它并跳过该行的显示。我的意思是如果没有回复,查询将一起出现两次,中间跳过回复。
下面是我的代码:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<div style="margin-left: 40px">
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<HeaderTemplate>
<table style=" border:1px solid #df5015; width:500px" cellpadding="0">
<tr style="background-color:#df5015; color:White">
<td colspan="2">
<b>Chat</b>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color:#EBEFF0">
<td>
<table style="background-color:#EBEFF0;border-top:1px dotted #df5015; width:500px" >
<tr>
<td>
Query:
<asp:Label ID="lblSubject" runat="server" Text='<%#Eval("Query") %>' Font-Bold="true"/>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
Reply
<asp:Label ID="lblComment" runat="server" Text='<%#Eval("Reply") %>'/>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:Service_WinmanConnectionString %>"
SelectCommand="SELECT [Query], [Reply] FROM [WebCalls]"></asp:SqlDataSource>
</div>
</form>
</body>
</html>
我的意思是如果表格的行如下图所示
然后对于我编写的代码将给出如下所示的输出
这里第三行不包含回复列的值。所以在设计输出中回复:为空白(见图)。但我希望那个标签“回复:”不要出现。所以输出会像在Query:c
它显示Query:d
而不是打印之后Reply:
(它是空白的)。所以我想回复:标签在这种情况下不显示。就像聊天一样,如果一个人一起回复两次,它将显示两次。那么如何实现呢?