2009-10-06 103 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