2009-11-06 26 views
2

我目前正在學習使用ASP.NET 3.5和C#中的MasterPages和ContentPlaceHolders - 現在,我拼命嘗試通過編程代碼編輯asp:Content-Control的內容。在C#中設置<asp:content>內容#

背景是這樣的;只要按下按鈕,我想要通過* .cs-File清除asp:內容並填充動態生成的內容。

但我無法弄清楚如何訪問ASP:內容控制,無論是通過其ID或Page.FindControl等

那麼,如何可以編輯ASP的內容:內容控制通過你的編程代碼?

回答

2

您可以通過使用FindControl而不是在頁面對象上,而是在其母版頁上訪問ContentPlaceholder。

System.Web.UI.MasterPage masterPage = this.Master; 
ContentPlaceHolder pageContent; 

pageContent = (ContentPlaceHolder)masterPage.FindControl("YourContentPlaceholderName"); 

我會同意,雖然它是更好地定義此塊的訪問是直接的,而不是試圖修改的ContentPlaceHolder

+0

我不想修改佔位符,而是填充佔位符的內容。 Placeholder在MasterPage中定義,但我試圖在該MasterPage的派生子頁面中更改Conten-Control。 – 2009-11-06 11:33:16

+0

當您調用Master.FindControl()時,它將返回您的頁面的該佔位符的實例,這將是您的內容控件。 – NickGPS 2009-11-06 12:05:26

0

您是否忘記將runat =「server」添加到您的asp:Content-Control?

問候,

M.

+0

這是我檢查的第一件事,它集內的面板或佔位符正確... – 2009-11-06 10:56:19

1

你可以把一個asp:面板進的ContentPlaceHolder和移動佔位符標記進去。通過這種方式,您可以訪問面板容器並操作其內容。

+0

聽起來像一個很好的解決方法,我一定會嘗試這個 - 仍然是這個謎: -/ – 2009-11-06 10:56:51