以编程方式设置asp:Content

时间:2009-04-06 16:32:19

标签: asp.net

我正在使用asp.net Web应用程序项目,我无法以编程方式访问任何asp:content控件。我正在尝试在代码后面更新其contentplaceholderID。这可能吗?

由于

2 个答案:

答案 0 :(得分:2)

虽然您可能无法更改asp:Contents的ContentPlaceHolderId,但您可以直接控制ContentPlaceHolders的内容:通过其Master属性从页面访问母版页,然后使用FindControl函数在母版页上查找ContentPlaceHolder。之后,通过Controls属性编辑其内容。

var masterContent = Master.FindControl("largeContent") as ContentPlaceHolder;
masterContent.Controls.Add(new Literal { Text = "Hello, world!" });

您可以使用此'hack'将asp:Panel控件添加到您想要的任何ContentPlaceHolder中,这样可以模拟您想要的功能。

答案 1 :(得分:1)

您无法更改内容页面中的contentPlaceHolderId。原因是contentplaceholder在Master页面中设置,然后您在那里引用它们以说明您的内容将在哪个contentplaceholder中。

  

内容控件留在控件层次结构中并且不存在。这里ASP.net thread提供了一种方法,可以通过另一种方式更新它