2011-02-10 63 views
0

我正嘗試使用已編寫的代碼訪問下面的代碼中的其他控件的控件。從不同的用戶控件訪問UserControl

Controls_SearchFeaturedMerchants UCMerchant =(Controls_SearchFeaturedMerchants)this.Parent.FindControl(「UCSearchFeaturedMerchants1」);

我想知道這個聲明說什麼。有人可以請給我一些想法:)

在此先感謝!

+0

相關問題:http://stackoverflow.com/questions/11666607/accessing-an-object-on-usercontrol-from-another-usercontrol-c-sharp – 2016-05-05 08:56:00

回答

1

如果我明白你的問題正確這裏是簡介:

在一個頁面(ContentPage)將舉辦兩個用戶控件(UsrCtrl1,UsrCtrl2)。

現在「UsrCtrl1」想要訪問「UsrCtrl2」中的一些數據。

爲此,我會寫這樣的代碼 - 「UsrCtrl1」父母是「ContentPage」該網頁主機「UsrCtrl2」,所以我會首先從父頁用下面的代碼獲得了「UsrCtrl2」:

this.Parent.FindControl("UsrCtrl2Name") - >意味着當前用戶的控制,這是「UsrCtrl1」和家長手段是「ContentPage」(也可能是父控件或頁面)在你正在努力尋找ID爲「UsrCtrl2Name」一CONTRL (這是內容頁面中第二個用戶控件的ID)。

當您使用FindContrl方法時,它始終返回基本類型UserControl,並且您需要將其轉換爲您的usercontrol,在這種情況下,它的類型爲「UsrCtrl2」。

我希望現在已經清楚。

+0

的FindControl()函數需要控件的id,而不是名稱。此外,`this.Parent`不一定是指頁面,而是指父控件,它可以是頁面,面板等。 – Nimrod 2011-02-10 16:25:22

0

用明文表示: 獲取當前控件的父控件,然後在所述控件上找到UCSearchFeaturedMerchants1。將結果轉換爲Controls_SearchFeaturedMerchants。

。希望概括起來爲你