好的,我是一個經驗豐富的Web開發人員,但有時ASP.Net欺騙我。 我在asp.net有一個母版頁。然後我有一個基於該母版頁(home.aspx)的頁面。現在在home.aspx.cs中,我想訪問asp:content控件以編程方式添加控件。訪問asp:內容代碼
.aspx的是這樣的:
<asp:Content ID="leftCol" ContentPlaceHolderID="cphLeftCol" Runat="Server">
<asp:PlaceHolder ID="phLeftCol" runat="server">
</asp:PlaceHolder>
</asp:Content>
我希望我可以從我的代碼中引用「leftCol」的背後。但它在那裏是未知的。 爲了測試,我添加了自己的佔位符「phLeftCol」。我可以參考沒有問題。
有什麼我看不到?
所以,我的解決辦法是最好的實踐。多可惜。 – newtogit 2010-09-29 19:42:52
還有其他容器控件可能比佔位符控件更適合您的情況(您真的需要更多地瞭解您正在做什麼),但內容控件不是一個選項。 – 2010-09-29 19:45:11
將每個ContentPlaceHolder(在母版頁上)和每個匹配的內容(內容頁)對象簡單地看作鏈接的相反端點,告訴主/內容渲染系統在母版頁中何處以及要嵌入什麼。母版頁上的每個ContentPlaceHolder只是指示在內容頁面中的每個相應內容對象中定義的內容的嵌入位置。由於這些對象僅用作關於何處/要嵌入內容的鏈接,因此它們就像主/內容呈現系統的元對象,因此它們不會成爲控件層次結構的一部分。 – Triynko 2011-07-25 14:33:20