単なるアイデアですが、jqueryの「contents()」関数を使用するのはどうでしょうか。
親ページからiframe内の要素を探す間隔を設定できます。(.netを使用しているので、iframeのページにポストバック時に表示されるようにすることができます)。
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="admin_test" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$(function () {
var watchForClose = setInterval(function () {
if ($('#testIframe').contents().find('#closeModal').length > 0) {
clearInterval(watchForClose);
/* call function to close modal here..*/
alert('Close modal');
};
}, 100);
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<iframe id="testIframe" src="Default.aspx" width="300" height="300"></iframe>
</div>
</form>
</body>
</html>
上記は、IDが「closeModal」のiframeページ内の要素を探しています。その要素が表示されたら、モーダルのクローズ関数を呼び出すことができます(アラートを呼び出しに置き換えるだけです)。