为什么Listview不显示DataTable中的值?

时间:2019-09-03 16:22:26

标签: c# asp.net listview

我有一个ListView和一个DataTable(带有列和行),已将其设置为Listview的数据源并绑定了它,但是ListView将不显示数据。有帮助吗?非常感谢

在something.aspx中:

 <asp:ListView ID="lvInstructors" runat="server"
    AutoGenerateColumns="False"
    ShowRegularGridWhenEmpty="False"
    EmptyDataText="No Sessions to Display."
    OnRowDataBound="lvDataBound"
    OnRowCommand="lvCommand"
    Visible="true">
        <LayoutTemplate>
            <div class="container" id="mainContent">
                <asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
            </div>
        </LayoutTemplate>
        <ItemTemplate>
            <div class="row instructorItem">
                <div class="col-2 sessionStartTimeDiv">
                    <p class="sessionStartTime"><%=SessionStartTime %></p>
                </div>
                <div class="col-2 instructorHeadshotDiv">
                    <asp:Image class="instructorHeadshot" runat="server" src="" />
                </div>
                <div class="col-5 sessionInfoDiv">
                    <h3 class="instructorName"><%=InstructorName%></h3>
                    <p class="sessionInfo"><%=SessionInfo%></p>
                </div>
                <div class="col-3 checkInBtnDiv">
                    <asp:Button class="checkInBtn" OnClick="CheckInBtn_Click"
                        ID="checkInBtn" runat="server" Text="CHECK-IN" />
                </div>
            </div>
        </ItemTemplate>
        <EmptyDataTemplate>
            <br /><br />No Sessions to Display
        </EmptyDataTemplate>
    </asp:ListView>

在thing.aspx.cs中:

       //Make Data table to hold ListViewItem Data 
        DataTable dt = new DataTable();

        dt.Columns.Add("SessionStartTime");
        dt.Columns.Add("InstructorHeadshot");
        dt.Columns.Add("InstructorName");
        dt.Columns.Add("SessionInfo");


        DataRow dr = dt.NewRow();
        dr["SessionStartTime"] = "1:00:";
        //dr["InstructorImage"] = "Bob";
        dr["InstructorName"] = "Bob";
        dr["SessionInfo"] = "Computer Room 2";

        dt.Rows.Add(dr);

        //Bind datatable to lv
        lvInstructors.DataSource = dt;
        lvInstructors.DataBind();

SideQuestion:(不确定我是否需要在这里,但是)我什么时候应该使用ListViewItem?

1 个答案:

答案 0 :(得分:2)

您要绑定-#-和Eval

<%# Eval("SessionStartTime") %>

将此格式用于其他值/列。