Aravindba Ответов: 1

Как получить доступ к основным элементам управления aspx со страницы iframe aspx ?


Привет, у меня есть page1.aspx и page2.aspx, и обе страницы имеют кнопки, в page1.aspx я использую iframe и вызываю page2.aspx, из кнопки page2 мне нужно получить идентификатор кнопки page1 и вызвать событие щелчка.
Я использовал внешний javascript ,поэтому обе страницы могут получить доступ, если ссылаться на этот скрипт на обеих страницах.

Что я уже пробовал:

Я использовал, чтобы получить идентификатор элемента управления в следующих способов
document.getElementById("mySidenav")

document.getElementById("ContentPlaceHolder1_mySidenav")

page1 получил главную страницу ,поэтому я использую ContentPlaceHolder1, но все еще проблема, чтобы получить идентификатор элемента управления.

Если я вызываю mySidenav из page1, ошибки нет, но если я вызываю из page2, который находится внутри iframe,не могу вызвать, он показывает ошибку "
0x800a138f - JavaScript runtime error: Unable to get property 'ajaxRequestWithTarget' of undefined or null reference
"

1 Ответов

Рейтинг:
0

F-ES Sitecore

Я бы прикрепил атрибут данных к кнопке, который позволит вам зацепиться за нее. Итак, Страница 1

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <h2>Page 1</h2>
    <p>
        <asp:Button ID="mySidenav" data-button="mySidenav" runat="server" />
    </p>
    <iframe src="Page2.aspx" />
</asp:Content>


страница 2

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <h2>Page 2</h2>
    <script>
        var el = parent.document.querySelector("[data-button='mySidenav']");
        alert(el.id);
    </script>
</asp:Content>