我有一个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?
答案 0 :(得分:2)
您要绑定-#
-和Eval
。
<%# Eval("SessionStartTime") %>
将此格式用于其他值/列。