2014-05-09 74 views
2

如何計算使用ASP.NET的中繼器中的項目數量?如何計算一個asp中繼器中的項目數量?

我想顯示的線沿線的東西:

標記5

1 ASPX

獲取項目指標:(工作)

<%# DataBinder.Eval(Container, "ItemIndex", "") + 1%> 

計數總筆數:但是(不及格)

<%# DataBinder.Eval(Container.ItemIndex, rpt.Items.Count)%> 

我寧願做此頁面上願意接受建議和後面的代碼。

+1

你是如何獲取數據?一個頁面數據適配器?通過代碼隱藏數據讀取器?還有別的嗎? – ewitkows

+0

通過頁面上的SqlDataSource填充sp。 – Obsidian

回答

0

我相信一個SqlDataSource使用「SQLdatareader」,它是一個接一個的行訪問。所以如果它有行,它一次返回一行,不知道它還要走多遠。

您可以在行集合中包含行總數(類似count(*)),並將其作爲每行中的字段返回。這並不理想,但它是將其返回到當前代碼的一種方法。

如果您不反對使用代碼隱藏\,那麼您可以調出並獲取記錄以獲得行數,然後在標記中使用該值(將其設置爲隱藏字段,例如)。無論哪種方式,您都需要遍歷所有行,然後才能知道您有多少行。

+0

如何檢測最後一個項目? – Obsidian

-1

看起來你需要轉換到支持您所使用的屬性數據類型,試試這個:

((Container.Parent as Repeater).DataSource as IList).Count 
+0

與我的回答不一樣嗎? :? – Duned

相關問題