Как можно прочитать буквальное содержимое заполнителя?
-
20-09-2019 - |
Вопрос
У меня есть код на пользовательском управлении, который выглядит так:
<asp:PlaceHolder id="ph1" runat="server">
<script type="text/javascript">
jQuery(function() {
doSomethingAwesome();
});
</script>
</asp:PlaceHolder>
Я хочу получить содержимое контроля заполнителей. Я пытаюсь получить его на предпринятеле страницы, в котором находится этот элемент управления. Я бы ожидал, что содержание заполнителя будет одним буквальным контролем, но коллекция элементов управления пуста.
Как я могу получить содержимое управления заполнителем на стороне сервера?
Решение
Литеральный контент не существует на сервере, потому что его нет в управлении сервером.
Если вам нужно сделать скрипт видимым на сервере, вам нужно явно поместить его в элемент управления сервером с набором свойств Runat = Server.
Другие советы
Чтобы получить содержимое на стороне клиента, вы можете сделать
$('#ph1').html()
При использовании контейнеров для именования, вероятно, из -за элементов управления пользователем
$('#<%=ph1.ClientID%>').html()