为什么当我尝试显示页面对象列表时什么都没显示?

时间:2020-09-20 01:41:53

标签: c# asp.net list

目标:我需要在出现在所有页面上的C#网站的左上方创建一个部分(因此,将其放置在Site.Master页面上)

它应该显示:数字(用图标表示,并带有绿色圆圈的数字),名称,可用性状态(真假-表示为绿色或红色。应在下拉菜单中更新数据库的状态) ,例如:

Availability

问题: 我可以在屏幕上显示个人数据,但不能显示整个列表。

我做过/尝试过的事情:

  • 我已经创建了创建具有此数据的对象(DTO)的BusinessLogic。我还创建了一个列表,其中包含每个人的数据
  • 我可以在屏幕上显示一个人,但我需要显示全部(列表会根据登录的人而增加或缩小)
  • 我尝试使用Repeater,ListView和GridView,但它们都没有显示在屏幕上
  • 我看过视频,看过文章并看过SO,但不确定我错过了什么

C#

public class PersonStatsListDTO
{
    public List<PersonStatsDTO> PersonStatsList = new List<PersonStatsDTO>();
}
    
public class PersonStatsDTO
{
    public bool Available { get; set; }
    public bool LoggedIn { get; set; }

    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int NumberOfActiveVisits { get; set; }
}

protected void Page_Load(object sender, EventArgs e)
{
    DisplayProviderStats();
}

private void DisplayPersonStats()
{
        PersonStatsListDTO personStatsListDto = GetPersonStats();
        var rp = new Repeater();
        rp.DataSource = personStatsListDto.PersonStatsList;
        rp.DataBind();
}

HTML

<div class="row">
        <div class="col-3">
            <h3>Availability Status</h3>

            <asp:Repeater id="rp" runat="server" >
                <ItemTemplate>
                    <table>
                        <tr><td>NumberOfActiveVisits</td><td><asp:label  ID="Visits" Text='<%# Eval("NumberOfActiveVisits") %>' runat="server" visible="true"/> </td></tr>
                        <tr><td>FirstName</td><td><asp:label ID="Name" Text='<%# Eval("FirstName") %>' runat="server" visible="true" /></td></tr>
                        <tr><td>Available</td><td><asp:label  ID="Availability" Text='<%# Eval("Available") %>' runat="server" visible="true" /></td></tr>
                    </table>
                 </ItemTemplate>
            </asp:Repeater>

            ///
        </div>
</div>

0 个答案:

没有答案
相关问题