如何以模态弹出窗口打开aspx页面

时间:2014-04-15 05:00:13

标签: asp.net vb.net modal-dialog

如何以模态弹出窗口打开aspx页面。

  1. Test.aspx应该像模式弹出窗口一样打开。
  2. 让Test1.aspx有一个按钮。点击它应该将Test.aspx页面填充为Modal弹出窗口。

    这是我的按钮:

    <asp:Button ID="Button1" runat="server" Text="Fill Form in Popup" />
    
  3. 注意:Test.aspx:普通的aspx页面,但Test1.aspx:父页面包含母版页。

4 个答案:

答案 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>

参考:http://www.c-sharpcorner.com/UploadFile/cd7c2e/open-a-new-web-form-in-the-model-popup-of-Asp-Net-applicatio/

或者您可以使用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模式弹出窗口。