Is have an aps.net form (MVC, Razor) with an additional form. So mainForm and reportForm. When the reportForm is submitted, a dialog is showing. After the report is downloaded I want to close the dialog... But how?
Using Html.BeginForm( "GetReportBasedOnSelectedKeys" , "Report" , FormMethod .Post, New Dictionary ( Of String , Object ) From {{ "id" , "reportForm" }, { "name" , "reportForm" }, { "target" , "_parent" }, { "style" , "margin: 0;" }})
@ < input id ="reportId" name ="reportId" type ="hidden" value ="" />
@ < input id ="presentationFormId" name ="presentationFormId" type ="hidden" value ="" />
@ < input id ="selectedKeyIds" name ="selectedKeyIds" type ="hidden" value ="" />
@ < div id ="dialog" style =" display : none ; text-align : center ; vertical-align : middle ; height : 500px ">
< br />
< img src =" @Url.Content( "~/Content/Images/ajax-loader-gray.gif" ) ">
< p > </ p >
</ div >
End Using
my script:
$( '#generate' ).click( function () {
showGridSelectionMessage( false );
var rowData = fnGetSelected(oTable);
if (rowData == null || rowData == '' ) {
showGridSelectionMessage( true );
}
else
{
$( "#reportId" ).val($( "#reportsSingleSelect" ).val());
$( "#presentationFormId" ).val($( "#presentationFormsSingleSelect" ).val());
$( "#selectedKeyIds" ).val(rowData);
$( "#dialog" ).dialog({
title: "Rapport wordt gegenereerd." ,
buttons: {
Ok: function () {
$( this ).dialog( 'close' );
}
},
dialogClass: '.dialog_css' ,
width: 300,
closeOnEscape: false ,
draggable: false ,
resizable: false ,
modal: false
});
$( ".ui-dialog-titlebar-close" ).hide();
$( "#reportForm" ).bind( 'ajax:complete' , function () {
//event.preventDefault();
$( 'mainForm' ).closest( ".ui-dialog-content" ).dialog( "close" );
//$('#dialog').dialog("close");
});
$( "#reportForm" ).submit();
}
});