Comment ouvrir une page aspx en tant que popup modal.
Laissez Test1.aspx a un bouton. Lorsque vous cliquez dessus, la page Test.aspx doit être renseignée en tant que fenêtre contextuelle modale.
Voici mon bouton:
<asp:Button ID="Button1" runat="server" Text="Fill Form in Popup" />
REMARQUE: Test.aspx: page aspx normale mais Test1.aspx: page parent Contient la page maître.
Si vous souhaitez ouvrir cette boîte de dialogue en tant que modèle jQuery, voir this post
Sinon, si vous souhaitez ouvrir cette page dans une boîte de dialogue modale, vous pouvez utiliser le code suivant pour l'ouvrir. Ces exemples utilisent window.showModalDialog de javascript. Pour trouver les détails d'utilisation, vous pouvez vous référer ici .
<script>
function fnRandom(iModifier) {
return parseInt(Math.random() * iModifier);
}
function fnSetValues() {
var oForm = document.getElementById('oForm');
var iHeight = oForm.oHeight.options[oForm.oHeight.selectedIndex].text;
if (iHeight.indexOf("Random") > -1) {
iHeight = fnRandom(document.body.clientHeight);
}
var sFeatures = "dialogHeight: " + iHeight + "px;";
return sFeatures;
}
function fnOpen() {
var sFeatures = fnSetValues();
window.showModalDialog("test.aspx", "", sFeatures)
}
</script>
Vous pouvez soit utiliser l'extendeur de popup modal comme ci-dessous.
<cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="Panl1" TargetControlID="Button1"
CancelControlID="Button2" BackgroundCssClass="Background">
</cc1:ModalPopupExtender>
Ou vous pouvez utiliser jQuery pour ouvrir un dialogue modal avec asp.net quelque chose comme.
$(document).on("click", "#LoadDialogButton", function () {
var url = "DialogContentPage.aspx";
var divId = " #MainContentDiv";
var q1 = "?inp1=" + $("#Input1").val();
var q2 = "&inp2=" + $("#Input2").val();
url = url + q1 + q2 + divId; //url in the form 'DialogContentPage.aspx?inp1=xx&inp2=yy #MainContentDiv'
$('<div id=DialogDiv>').dialog("destroy");
$('<div id=DialogDiv>').dialog({
dialogClass: 'DynamicDialogStyle',
modal: true,
open: function () {
$(this).load(url);
},
close: function (e) {
$(this).empty();
$(this).dialog('destroy');
},
height: 350,
width: 540,
title: 'Dynamic Dialog'
});
});
Référence: http://www.codeproject.com/Articles/488312/jQuery-Modal-Dialog-with-Dynamic-Content
Essayez ce simple javascript pour ouvrir la page aspx dans une nouvelle fenêtre/popup
window.open("http://www.google.com/");
window.open("~/mypage.aspx");
ou
ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open('YourPage.aspx?Param=" + ParamX.ToString() + "');",true);
Ou si vous avez un bouton, vous pouvez l’utiliser comme ci-dessous:
Button1.OnClientClick="javascript:window.open('YourPage.aspx?Param=" + ParamX.ToString() + "');";
espérons que cela vous aidera à utiliser autrement Ajax modal popup.
Utilisez ClientScript.RegisterStartupScript
, essayez ceci
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim query As String = "test.aspx"
Dim newWin As String = "window.open('" & query & "');"
ClientScript.RegisterStartupScript(Me.GetType(), "pop", newWin, True)
End Sub