我有一個用戶控件,看起來像這樣的代碼:如何閱讀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