设计视图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
               %>

设计视图ListView网络逻辑

您可以使用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吗?