2009-10-06 99 views
0

我有一個用戶控件,看起來像這樣的代碼:如何閱讀PlaceHolder的文字內容?

<asp:PlaceHolder id="ph1" runat="server"> 
    <script type="text/javascript"> 
     jQuery(function() { 
      doSomethingAwesome(); 
     }); 
    </script> 
</asp:PlaceHolder> 

我想佔位符控件的內容。我試圖把它放在這個控件所在頁面的OnPreRender中。我預料PlaceHolder的內容將是一個單一的文字控件,但Controls集合是空的。

如何獲取服務器端PlaceHolder控件的內容?

回答

2

服務器上不存在文字內容,因爲它不在服務器控件中。

如果您需要使腳本在服務器上可見,您需要將其明確地放在具有「runat = server」屬性集的服務器控件中。

+0

從我讀過,我想你是對的哪些是可能做到

$('#ph1').html() 

。如果我將

0

要獲得客戶端的內容,你可以如果使用命名容器,因爲用戶控制

$('#<%=ph1.ClientID%>').html() 
+0

PlaceHolder控件實際上並不向頁面渲染任何東西,因此#ph1不存在。如果我將PlaceHolder更改爲Panel,那麼您的建議肯定會在客戶端獲取面板(呈現爲div)的內容。 – EliThompson 2009-10-06 17:32:59