如何以模态弹出窗口打开aspx页面。
让Test1.aspx有一个按钮。点击它应该将Test.aspx页面填充为Modal弹出窗口。
这是我的按钮:
<asp:Button ID="Button1" runat="server" Text="Fill Form in Popup" />
注意:Test.aspx:普通的aspx页面,但Test1.aspx:父页面包含母版页。
答案 0 :(得分:1)
如果要将其打开为jQuery模型对话框,请参阅this post
否则,如果要在模态对话框中打开此页面,可以使用以下代码将其打开。此示例使用javascript的 window.showModalDialog 方法。要查找详细信息,请参阅here。
<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>
答案 1 :(得分:0)
使用ClientScript.RegisterStartupScript
,试试这个
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
答案 2 :(得分:0)
你可以使用如下所示的模态弹出扩展器。
<cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="Panl1" TargetControlID="Button1"
CancelControlID="Button2" BackgroundCssClass="Background">
</cc1:ModalPopupExtender>
或者您可以使用jquery打开与asp.net类似的模式对话框。
$(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'
});
});
参考:http://www.codeproject.com/Articles/488312/jQuery-Modal-Dialog-with-Dynamic-Content
答案 3 :(得分:0)
尝试使用这个简单的javascript在新窗口/弹出窗口中打开aspx页面
window.open("http://www.google.com/");
window.open("~/mypage.aspx");
或
ScriptManager.RegisterStartupScript(Page, typeof(Page), "OpenWindow", "window.open('YourPage.aspx?Param=" + ParamX.ToString() + "');",true);
或者如果你有一个按钮,你可以按如下方式使用它:
Button1.OnClientClick="javascript:window.open('YourPage.aspx?Param=" + ParamX.ToString() + "');";
希望这会帮助您使用Ajax模式弹出窗口。