PARENT.ASPX
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'********************************************************************************
'This code will create the __DoPostback function on the client side page
Page.ClientScript.GetPostBackEventReference(New Web.UI.PostBackOptions(Me.Page))
'********************************************************************************
If Page.IsPostBack Then
Dim requestTarget = Me.Request("__EVENTTARGET")
Dim requestArgs = Me.Request("__EVENTARGUMENT")
Response.Write("Hello " & requestTarget)
End If
End Sub
<link rel="stylesheet" href="jquery-ui-1.12.1/jquery-ui.css">
<script src="jquery-ui-1.12.1/jquery.js"></script>
<script src="jquery-ui-1.12.1/jquery-ui.js"></script>
.
.
.
<form id="form1" runat="server">
<div>
<input id="Button1" type="button" value="button" />
</div>
</form>
.
.
.
<script>
var MyDialog1;
$("#Button1").on("click", function () { OpenPage('Mytitle', '200', '200', 'Child.aspx');return false });
function OpenPage(sTitle, iHeight, iWidth, PageName) {
//***************************************************************************************************
$('head').append('<style type="text/css">.ui-widget-overlay.ui-front {opacity:.75; }</style>');
//***************************************************************************************************
MyDialog1 = $("<div></div>").html("<iframe id='MyIFrame' style='border: 0px; ' src='" + PageName + "' width='100%' height='100%'></iframe>")
.dialog({
// buttons: [{ text: "Close", click: function () { $(this).dialog("close"); } }],
autoOpen: false,
modal: true,
height: iHeight,
show: { effect: 'slide', duration: 1000 },
hide: { effect: 'slide', duration: 1000 },
width: iWidth,
close: function () { __doPostBack("This is my event target", '') }
// beforeClose: function (event, ui) { alert('your closing!') }
})
// Open without the 'x' on the upper right of the window...
MyDialog1.dialog('open').prev().find(".ui-dialog-titlebar-close").hide();;
} //OpenPage Function
function closeIframe(SomeParameter) {
//********************************************************************************************************************************************
//This function is called from the Child page,(Detail.aspx), like this: Dim sScript As String = “<scrpt>window.parent.closeIframe();</scrpt>”
// ClientScript.RegisterClientScriptBlock(Me.GetType(), "MyKey", sScript, False)
//**********************************************************************************************************************************************
MyDialog1.dialog('close');
return false;
} //CloseIframe
</script>
CHILD.ASPX
Protected Sub cmdClose_Click(sender As Object, e As EventArgs) Handles cmdClose.Click
Dim s As String = "<script>window.parent.closeIframe();</script>"
ClientScript.RegisterClientScriptBlock(Me.GetType(), "MyKey", s, False)
End
Sub
BONUS CODE linkbutton click finds selected value in listbox
<asp:LinkButton ID="lbAddNote" OnClientClick="GetSelectedItem();return false;" runat="server" Font-Names="Arial" Font-Size="11pt">Booklet
Notes...</asp:LinkButton>
function GetSelectedItem() {
iFound = 0;
sel = document.getElementById('lbBooks')
var listLength = sel.options.length;
for (var i = 0; i <
listLength; i++) {
if (sel.options[i].selected) {
iFound
= 1;
OpenPage('Notes', '330', '480', 'AddNote.aspx', sel.options[i].value)
}//if selected
}//for
loop
if (iFound != 1) { alert('select
first') }
}// GetSelectedItem