2016-03-09 2 views
-1

Ниже jQuery получить триггер кнопкой на GridView, которые позволяют мне редактировать запись в приятном всплывающем окне Iframe. Однако мне нужно закрыть всплывающее окно Iframe из-за кода (C#) страницы EditEmployee.aspx. Я попробовал почти все варианты, выполнив поиск в google и stackoverflow, и ни один из них не работает. Я пытаюсь добавить функцию на вызов родительской страницы CloseDialog(), а затем вызвать window.parent.CloseDialog(), и я не могу заставить его работать. Может кто-то, пожалуйста, помогите мне, я новичок в jQuery?Закрыть окно IFRAME

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('a#popup').on('click', function (e) { 

      var page = $(this).attr("href") //get url of link 

      var $dialog = $('<div></div>') 
      .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') 
      .dialog({ 
       autoOpen: false, 
       modal: true, 
       height: 450, 
       width: 'auto', 
       title: "Edit Employee", 
       buttons: { 
        "Close": function() { $dialog.dialog('close'); } 
          }, 
       close: function (event, ui) { 

        __doPostBack('<%= btnRefresh.ClientID %>', ''); // To refresh gridview when user close dialog 
       } 
      }); 
      $dialog.dialog('open'); 
      e.preventDefault(); 
     }); 
    }); 
</script> 

<asp:TemplateField HeaderText="ID"> 
     <ItemTemplate > 
      <a id="popup" href='EditEmployee.aspx?id=<%# Eval("ID") %>' >edit</a> 
    </ItemTemplate> 
     </asp:TemplateField> 
+3

Почему вам нужно сделать это на стороне сервера? –

+0

Какую версию jQuery вы используете? 'live()' устарел много лет. – charlietfl

+0

Мне нужно закрыть всплывающее окно IFrame после сохранения записи. – zAnthony

ответ

0

Это получится, что мне нужно, чтобы дать мне IFrame идентификатор, а затем вызвать закрыть его функцию, как по этой ссылке Close IFrame Dialog from Popup

function closeIframe() 
{ 
$('#iframeId').dialog('close'); 
return false; 
} 
0

Попробуйте это:

ClientScript.RegisterStartupScript(GetType(), "closeDialog", "$dialog.dialog('close');", true); 
Смежные вопросы