2

我目前正在学习在 ASP.NET 3.5 和 C# 中使用 MasterPages 和 ContentPlaceHolders - 现在,我正在拼命地尝试通过我的编程代码编辑 asp:Content-Control 的内容。

背景是这个;按下按钮后,我希望清除 asp:Content 并通过 *.cs 文件填充动态生成的内容。

但我无法弄清楚如何访问 asp:Content-Control,既不是通过它的 ID 也不是通过 Page.FindControl 等。

那么,如何通过编程代码编辑 asp:Content-Control 的内容呢?

4

3 回答 3

2

您可以通过在页面对象上而不是在其母版页上使用 FindControl 来访问 ContentPlaceholder。

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

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

我同意最好在这个块中定义一个面板或占位符并直接访问它,而不是尝试修改 ContentPlaceholder

于 2009-11-06T11:02:04.697 回答
1

您可以将 asp:Panel 放入 ContentPlaceHolder 并将占位符标记移入其中。通过这种方式,您可以访问 Panel 容器并操作其内容。

于 2009-11-06T10:37:15.373 回答
0

您是否忘记将 runat="server" 添加到您的 asp:Content-Control 中?

问候,

M。

于 2009-11-06T10:37:04.797 回答