如何操作母版页中的 ContentPlaceHolder 内容
我想从母版页后面的代码编辑 ContentPlaceHolder 的内容,请帮助我,您可以假设具有任何内容占位符的任何母版页。
所有答案都会受到尊重。
I want to edit the contents of ContentPlaceHolder from the code behind of the masterpage, please help me, you can assume any masterpage with any content placeholder.
All answers would be respected.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果内容更改是微不足道且美观的,请考虑客户端操作,例如 jQuery。
否则,您可以在 ContentPlaceHolder 的 Controls 集合上使用 FindControl(),但这会令人担忧且混乱。
一个更简洁的解决方案是利用多态性。调用页面可从 MasterPage 的
Page
属性中获取。所以:如果你有一个像这样的界面:
并且你的页面模板是这样实现的:
使用代码隐藏如下:
你的母版页代码隐藏可能是这样的:
If the content changes are trivial and cosmetic, consider client-side manipulation e.g. jQuery.
Otherwise, you could use FindControl() over the
Controls
collection of the ContentPlaceHolder, but that's fraught and messy.A neater solution is to take advantage of Polymorphism. The calling page is available from the MasterPage's
Page
property.So: if you have an interface like so:
And your page template is implemented like so:
With code-behind like:
Your Masterpage code-behind could be like this: