我有一个用户控件,看起来像这样的代码:如何阅读PlaceHolder的文字内容?
<asp:PlaceHolder id="ph1" runat="server">
<script type="text/javascript">
jQuery(function() {
doSomethingAwesome();
});
</script>
</asp:PlaceHolder>
我想占位符控件的内容。我试图把它放在这个控件所在页面的OnPreRender中。我预料PlaceHolder的内容将是一个单一的文字控件,但Controls集合是空的。
如何获取服务器端PlaceHolder控件的内容?
从我读过,我想你是对的哪些是可能做到
。如果我将标签封装在另一个控件(如PlaceHolder或Literal)中,我可以查看它们。我仍然希望稍微少一些详细的解决方案。 – EliThompson 2009-10-06 16:11:25
你的脚本是否是动态的?如果它是一个静态脚本,那么您应该考虑将其设置为字符串资源并使用ClientScript.RegisterScriptBlock()将其添加到您的页面。 – womp 2009-10-06 16:26:17
是的,脚本是动态的。 我所做的是做了一个从PlaceHolder继承的服务器控件。它向它所在的页面注册自己。然后你把一些JS放进去。在PreRender上,该页面将获取所有已注册的控件,并将其内容移至页面底部并转移到另一个PlaceHolder中。此控件仅适用于动态脚本。我使用RegisterScriptBlock作为静态脚本。 虽然这可能比我想要的更复杂。我可能只是重新编写JS,以便它不需要动态内容。 – EliThompson 2009-10-06 17:05:43