如何使用新页面作为弹出窗口源来创建弹出窗口?
本文关键字:窗口 创建 何使用 新页面 | 更新日期: 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代码调用。如果你想用这种方法,我可以贴一些代码