2012-03-13 65 views
1

我正在尋找一種方法來傳遞用戶控件的標記,對頁面中存在的其他用戶控件的引用。這時我這樣做是具有與該控件的名稱的字符串屬性,並在代碼隱藏我使用的FindControl得到它,這樣說:Asp .Net用戶控件引用其他用戶控件從標記

<uc2:ctlMyControl ID="MyControl1" runat="server" 
     ReferencedControl="TheIdOfOtherControlInThePage" /> 

而在服務器端:

public string mvarReferencedControl= ""; 
    public string ReferencedControl { 
    get 
    { 
     return mvarReferencedControl; 
    } 
    set 
    { 
     mvarReferencedControl = value; 
    } 
    } 

我想知道的是,如果有更好的方法來做到這一點,不傳遞字符串與控制的名稱,但控制本身在「控制」屬性,所以我直接參考控制和避免做FindControl。

+0

究竟要實現什麼?> – Pankaj 2012-03-13 18:37:39

+0

不是當你想在標記中設置它,因爲它必須是可序列化的。但否則這沒有問題。您可以隨時返回對屬性中UserControl/Page的另一個控件的引用。 – 2012-03-13 18:39:39

+0

所以你認爲它可以使用戶控件可序列化,蒂姆? – tomasofen 2012-03-13 22:49:27

回答

0

在頁面背後的代碼中做什麼錯?

((MyControl)MyControl1).ReferenceControl = theOtherControl; 
+0

我假設OP想要通過標記來定義他想要引用的控件。 – 2012-03-13 18:42:29

+0

是的,我知道它可以在代碼後面完成,但我正在尋找一種在標記中實現它的方法。無論如何感謝這個想法。 – tomasofen 2012-03-13 22:45:50

相關問題