如何使用新页面作为弹出窗口源来创建弹出窗口?

本文关键字:窗口 创建 何使用 新页面 | 更新日期: 2023-09-27 18:06:54

我想弹出一个面板当一个"createbutton"被点击,我使用面板和面板内添加一些文本框和按钮。我能够通过在创建按钮存在的同一页面中设计弹出面板。我能不能把它放在一个单独的页面上让它在我点击createbutton

如何使用新页面作为弹出窗口源来创建弹出窗口?

的时候弹出

Gokul

是的,您可以将面板放在单独的页面中,并使其在单击创建按钮时出现。这里有一个替代方案(不是我最喜欢的,但它不依赖于任何额外的标准javascript):

  • 当你点击"创建按钮"打开一个新的浏览器窗口调整大小完全匹配面板的大小。这可以用javascript轻松完成,如下所示:

    & lt;输入onclick = " javascript: window.open("page.aspx"、"标题"、"状态= 0,工具栏= 0,宽度= 350,身高= 250 ');"type="button" value="Create"/>

  • 在您弹出的包含面板的页面(pagecontainingPanel.)Aspx(根据我的示例),您可以使用代码在执行某些操作后关闭窗口。例如,如果您有一个按钮,它应该将一些数据保存到数据库并返回到父页面,您可以这样做:

{

  ///Perform server side process. If successfully executed close this window. 
  protected void btnSubmit_Click(object sender, EventArgs e)
  if(EverythingOK) 
        { 
           StringBuilder cstext2 = new StringBuilder();
  cstext2.Append("<script type='"text/javascript'"> function CloseMe() {");
  cstext2.Append("window.close();} </");
  cstext2.Append("script>");
  cs.RegisterStartupScript(cstype, csname2, cstext2.ToString(), false);
        } 
    }

当然。你可以创建一个iframe,然后将源设置为你正在创建的面板。

假设你有两个html页面panel.html和main.html

你的panel.html可以是

<html>
   <body style="background-color:red">
      Hi!
   </body>
</html>

和main.html

    <html>
    <body style="background-color:yellow">
        <iframe src="panel.html" style="height:300px;width:300px;border:0px;display:none;" id="myPanel"></iframe>
        <a href="#" onclick="document.getElementById('myPanel').style.display='block';return false">Show Panel</a>
    </body>
</html>

这应该显示一个带有"显示面板"超链接的黄页。当你点击Show Panel,它会显示你的Panel .html的iframe。

如果你使用ASP。NET MVC,你可以通过创建一个视图来实现这一点,这个视图可以用一些Ajax/JQuery代码调用。如果你想用这种方法,我可以贴一些代码