设计视图ListView网络逻辑
本文关键字:网络 ListView 视图 | 更新日期: 2023-09-27 17:49:42
我试图在Asp的源视图输入逻辑。净列表视图。问题是,当执行"If (isItTrue(test))"时,程序在屏幕上写的是false或true。有人知道怎么解决这个问题吗?
<%# test= Eval("testId")%>
<%
If (isItTrue(test)) Then
%>
<asp:Button ID="btnTest" runat="server" Text="Like" />
<%
Else
%>
<asp:Label runat="server" Text="hello" </asp:Label>
<%
End If
%>
您可以使用ItemDataBound
来检查这样的信息,并使用您的条件显示或隐藏控件。在后面的代码中尝试这样做:
protected void ListViewTest_ItemDataBound(object sender, ListViewItemEventArgs e)
{
// if it is data item
if (e.Item.ItemType == ListViewItemType.DataItem)
{
// call your function
if (isItTrue("test"))
{
// show the button
e.Item.FindControl("btnTest").Visible = true;
}
else
{
// show the label
e.Item.FindControl("lblTest").Visible = true;
}
}
}
在Listview中,你可以这样做,设置事件并在占位符
上添加控件<asp:ListView ID="ListViewTest" DataSourceID="..." OnItemDataBound="ListViewTest_ItemDataBound" runat="server">
<LayoutTemplate>
<table>
<tr>
<th>Column Name</th>
</tr>
<tr runat="server" id="itemPlaceholder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr style="background-color: #CAEEFF" runat="server">
<td>
<%-- both controls are here --%>
<asp:Button ID="btnTest" runat="server" Visible="false" Text="Like"></asp:Button>
<asp:Label ID="lblTest" runat="server" Visible="false" Text="hello"></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
您确定不是这一行:<%# test= Eval("testId")%>
向输出输出true或false吗?