Как можно прочитать буквальное содержимое PlaceHolder? - PullRequest
0 голосов
/ 06 октября 2009

У меня есть некоторый код в пользовательском элементе управления, который выглядит следующим образом:

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

Я хочу получить содержимое элемента управления PlaceHolder.Я пытаюсь получить его в OnPreRender страницы, на которой этот элемент управления.Я ожидал, что содержимое PlaceHolder будет представлять собой один элемент управления Literal, но коллекция Controls пуста.

Как получить содержимое элемента управления PlaceHolder на стороне сервера?

Ответы [ 2 ]

2 голосов
/ 06 октября 2009

Буквальное содержимое не существует на сервере, потому что оно не находится в элементе управления сервера.

Если вам нужно сделать скрипт видимым на сервере, вам нужно явно поместить его в серверный элемент управления с установленным свойством runat = server.

0 голосов
/ 06 октября 2009

Чтобы получить содержимое на стороне клиента, вы можете сделать

$('#ph1').html()

При использовании именования контейнеров, что вероятно из-за пользовательских элементов управления

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