[英]How can I create a pop-up window using a new page as the pop-up source?
我想在单击“创建按钮”时弹出一个面板,我正在使用一个面板,并在面板内部添加了一些文本框和按钮。 我可以通过在与创建按钮相同的页面中进行设计来制作弹出面板。 我可以在单独的页面中弹出窗口吗,当我单击createbutton时使其弹出吗
当然。 您可以创建一个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>
这应该显示一个带有超链接“显示面板”的黄页。 单击“显示面板”时,它将显示panel.html的iframe。
如果使用的是ASP.NET MVC,则可以通过创建一个可以用一些Ajax / JQuery代码调用的View来实现。 如果您正在寻找某种方法,我可以为此发布一些代码。
Gokul,
是的,您可以将面板放在单独的页面中,并在单击“创建”按钮时显示它。 这是一种选择(不是我的最爱,但除了标准javascript之外,它不依赖任何其他东西):
当您单击“创建按钮”时,将打开一个新的浏览器窗口,该窗口的大小将与面板的大小完全匹配。 可以使用javascript轻松完成,如下所示:
<输入onclick =“ javascript:window.open('page.aspx','title','status = 0,toolbar = 0,width = 350,height = 250');” type =“ button” value =“ Create” />
在弹出的包含面板的页面上(根据我的示例,页面包含Panel.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);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.