好吧,我是一名经验丰富的 Web 开发人员,但有时 ASP.Net 会欺骗我。
我在 asp.net 中有一个母版页。然后我有一个基于该母版页(home.aspx)的页面。现在在 home.aspx.cs 中,我想访问 asp:content 控件以通过编程方式添加控件。
Aspx 看起来像这样:
<asp:Content ID="leftCol" ContentPlaceHolderID="cphLeftCol" Runat="Server">
<asp:PlaceHolder ID="phLeftCol" runat="server">
</asp:PlaceHolder>
</asp:Content>
我希望我可以从后面的代码中引用“leftCol”。但那里却无人知晓。
为了进行测试,我添加了自己的占位符“phLeftCol”。我可以毫无问题地参考它。
有什么我没看到的吗?
您无法直接从后面的代码访问 asp:Content 控件。内容控件不会在运行时添加到控件层次结构中,因此无法从后面的代码访问它以在运行时添加控件。要在运行时向其添加控件,您需要向内容控件添加另一个容器控件,并向其中添加控件(就像对占位符控件所做的那样)。
看到这个MSDN http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.content.aspx文章了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)