[英]DataTable and ASP.NET Repeater
我正在將DataTable綁定到轉發器。 但是,當我運行我的aspx頁面時,它不會評估Eval語句並在頁面上顯示它們
<<%# 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;
}
我已經改變了上面例子中的一些名字
在Debug信息中,我可以看到我的DataTable使用了正確的列名,並且這些名稱與我的eval語句匹配。
我知道我已經以一種相當奇怪的方式創建了這個,從我讀過的內容和在線研究中,更常見的是使用表而不是Divs /或Spans。 所以我意識到這可能是它的核心問題。
我不明白為什么會有任何不同。
從您的eval語句中刪除<<
。 它應該是:
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.