我有一個控件,我想通過它的數據源進行交流,這有可能嗎?我可以迭代數據源嗎?
該控件綁定到一箇中繼器,但我也想通過在.ascx控件頁面頂部使用內聯代碼遍歷項目。
這可能嗎?
更新
我綁定到一箇中繼器,並綁定到中繼器的東西是一個List集合。
我想:
myRepeater.DataSource
而且我不通過智能感知得到什麼,鑄造List<UserPRofile>
也不起作用。
我有一個控件,我想通過它的數據源進行交流,這有可能嗎?我可以迭代數據源嗎?
該控件綁定到一箇中繼器,但我也想通過在.ascx控件頁面頂部使用內聯代碼遍歷項目。
這可能嗎?
更新
我綁定到一箇中繼器,並綁定到中繼器的東西是一個List集合。
我想:
myRepeater.DataSource
而且我不通過智能感知得到什麼,鑄造List<UserPRofile>
也不起作用。
當然,只要引用控件的DataSource屬性,它就會返回你最初綁定到控件的任何東西。您需要將返回值轉換爲適當的類型。
var dataSource = (List<MyClass>)myRepeater.DataSource; // your control
記住,如果您打算進行更改,並希望它在控制中反映出來,那麼你應該使用支持2路結合適當的數據源,如BindList。
無法正常工作,甚至沒有投下它之後...... – mrblah 2009-09-07 20:27:29
你能用更多的代碼更新你的問題嗎?向我們展示Repeater標記和數據綁定。這聽起來像你正在使用用戶控件。你是否將列表綁定到用戶控件並試圖訪問他們的數據源?這將與中繼器的數據源分開。 – 2009-09-07 20:44:50
據我所知,你想訪問位於用戶控件內的中繼器的數據源。我建議你將數據源公開爲一個屬性,並使用它在用戶控件之外循環,並綁定你的中繼器。
也可以使用Repeater.Items集合並獲取每個綁定的行作爲RepeaterItem實例。
foreach (RepeaterItem repeaterItem in myRepeater.Items)
{
lblResult.Text += " " + repeaterItem.Text;
}
「bound to repeater」意思是什麼?控制器是否包含在中繼器內,或者是控制器的中繼器部分? – 2009-09-07 20:18:18