2
我将DataTable绑定到中继器。然而,当我跑我的aspx页面它不评估eval语句和网页上显示它们为DataTable和ASP.NET中继器
<<%# Eval("Name").ToString() %> Posted by: <<%# Eval("UserName").ToString() %>
<<%# Eval("Name").ToString() %> Posted by: <<%# Eval("UserName").ToString() %>
<<%# Eval("Name").ToString() %> Posted by: <<%# Eval("UserName").ToString() %>
它也打破它下降到3行。这也不是我所期望的。我以为它会显示为跨度通常会
我已经拿出.ToString来检查是否是导致问题。但事实并非如此。
下面是我的直放站
<asp:Repeater ID="First" runat="server">
<ItemTemplate>
<div class="ItemDiv">
<span class="ItemLeft"></span>
<span class="ItemCentre">
<asp:Label ID="Name" runat="server" Text='<<%# Eval("Name").ToString() %>'></asp:Label>
</span>
<span class="ItemRight">
<asp:Label ID="UserName" runat="server" Text='<<%# Eval("UserName").ToString() %>'></asp:Label>
</span>
</div>
</ItemTemplate>
</asp:Repeater>
绑定的代码如下:
public void dataLoad()
{
DataTable Data = loadData(1,1,1);
if (Data.Rows.Count < 10)
{
// Only populate the data from datatable
First.DataSource = Data;
First.DataBind();
Second.Visible = false;
noData.Visible = true;
}
我已经改变了一些名字在上面的例子
在调试信息我可以看到我的DataTable正在使用正确的列名称,并且这些符合我的eval语句。
我知道我已经创建了一个相当奇怪的方式,从我读过的和在线研究中使用表格而不是Divs /或Spans更常见。所以我知道这可能是其核心问题。
我看不出为什么它会有任何不同。