Member 14659146 Ответов: 0

Закрыть iframe в другую страницу после отправки кода


У меня есть веб-приложение, в котором есть кнопка, которая откроет окно формы iframe.

open.aspx-это нажатие кнопки

supervisor.aspx-это страница, открытая с помощью iframe

открытую.aspx-файл
<div style="vertical-align: middle; text-align: center; left: 500px; width: 122px; position: absolute;  top: 560px; height: 50px; z-index: 126; right: 889px; font-size: 50pt; font-family: Calibri; font-weight: bold;" id="uncheckbutton">
    <asp:ScriptManager ID="ScriptManager1" runat="server">  
</asp:ScriptManager>  
      <asp:Button ID="Button1" runat="server" Text="UNCHECK" />
//this is the onclick button to open the iframe
    

<cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="Panl1" TargetControlID="Button1"  

    CancelControlID="Button2" BackgroundCssClass="Background">  
</cc1:ModalPopupExtender> 

        

  <asp:Panel ID="Panl1" runat="server" CssClass="Popup" align="center" style = "display:none">  
    <iframe style=" width:400px; height: 150px;" id="irm1" src="Uncheck popup.aspx"  runat="server"> </iframe> 
         <asp:button Top="100px" id="button2" runat="server" text="CLOSE"  />  
</asp:Panel>  


а это супервайзер.aspx(iframe)


<asp:TextBox ID="inputid" runat="server" Font-Size="14px" ></asp:TextBox>  

<asp:Button ID="Button3" runat="server" Text="Uncheck"  OnClick="btnCheck_Click"  /> 


если пользователь вводит правильное имя пользователя, я хочу, чтобы iframe автоматически закрывался.

это мой научный руководитель.aspx-файл.в CS

  protected void btnCheck_Click(object sender,EventArgs e)
        {
          
            string uncheck = inputid.Text;                                                                        
           
            bool supervisor = Cls.GetUncheckSupervisor(uncheck);
          
            

            if (supervisor==true)
            {
                this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", "window.close()",

.true);

            }
            else
            {
               

                Show("Wrong ID!");

            }


если супервизор истинен, как я могу автоматически закрыть iframe? на данный момент я использую щелчок кнопки, чтобы закрыть, и я хочу избежать меньшего щелчка.


Заранее спасибо

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

Я попробовал использовать javascript, но iframe все еще не закрывается, хотя функция работает.
Я перешел по этой ссылке
https://stackoverflow.com/questions/43527062/how-to-close-window-after-iframe-form-submits а также https://stackoverflow.com/questions/29258881/close-iframe-from-another-webpage-asp-net

F-ES Sitecore

Вы имеете в виду, что хотите устранить необходимость нажимать кнопку, вы хотите, чтобы это происходило, когда вы печатаете? Я бы не советовал этого делать, так как это будет неприятно для пользователя, он печатает, и вдруг что-то исчезает, и он не будет знать почему.

На твоем месте я бы бросил все это дело с iframe. Используйте обычный div с вашим текстовым полем на странице, а затем используйте что-то вроде jQuery, чтобы прикрепить ключ даже к текстовому полю и отправить ajax-запрос к методу страницы для проверки текста. Webmethod вернет json, который говорит, Был ли текст правильным или нет, и если это был ваш код jQuery, то он скроет div вместе с вашим текстовым полем.

Member 14659146

Спасибо, Чувак, я уже нашел решение здесь. Еще раз спасибо за подсказку

0 Ответов