以一個DetailsView
控件爲例,其ObjectDataSource
作爲其數據源。如何從ObjectDataSource事件引用數據綁定控件?
通常在DetailsView.ItemUpdated
事件中,我會抓住的細節參考視圖通過鑄造sender
:
DetailsView dv = (DetailsView)sender;
在某些情況下有必要處理ObjectDataSource.ItemUpdated
事件中的事件。在這種情況下sender
現在是ObjectDataSource
類型。我希望能夠做的是編寫乾淨的代碼,心不是硬編碼像
Label label1 = DetailsView1.FindControl("Label1");
我看着的文件過來,也做了一些搜索,但無法找到我怎麼會寫像下面的一些代碼:
protected void ObjectDataSource1_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
ObjectDataSource ods = (ObjectDataSource)sender;
DetailsView dv = (DetailsView)ods.SOMETHING_HERE;
}
有沒有人知道我應該放在SOMETHING_HERE
上面的代碼片段中?
感謝您的回覆。我這樣做的原因是因爲我有一個自定義的'UserControl',它有一個帶有複選框的'TreeView'。它允許用戶選擇項目應顯示的課程/類別。我需要獲得對此控件的引用,以便在更新主項目後更新不同的數據庫表格。通過對DetailsView名稱進行硬編碼,我很容易解決了這個問題,但我認爲可能存在一些像.Parent或.NamingContainer這樣的屬性類型,我可以將其轉換爲代碼,因此代碼不會太脆弱。 – rtpHarry 2010-12-20 13:56:56
不看代碼就很難回答。無論如何,只要有一個對象的引用可以訪問它的屬性:通過usercontrol,你可以訪問它所包含的控件,從webcontrol中你可以訪問父級(頁面或用戶控件)。 – 2010-12-20 14:26:57