我想在点击“createbutton”时弹出一个面板,我正在使用面板并在面板中添加一些文本框和按钮。我可以通过在存在createbutton的同一页面中设计它来制作弹出式面板。我可以在单独的页面中弹出窗口并在单击“创建”按钮时弹出它
答案 0 :(得分:0)
不确定。您可以创建一个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来完成此操作。如果你正在寻找这种方法的东西,我可以发布一些代码。
答案 1 :(得分:0)
戈库尔,
是的,您可以将面板放在单独的页面中,并在单击“创建”按钮时显示该面板。这是一个替代方案(不是我最喜欢的,但除了标准的javascript之外它不依赖于任何额外的东西):
当您单击“创建按钮”时,将打开一个新的浏览器窗口,其大小完全调整以匹配面板的大小。这可以通过javascript轻松完成,如下所示:
&LT; 输入onclick =“javascript:window.open('page.aspx','title','status = 0,toolbar = 0,width = 350,height = 250');” type =“button”value =“创建”/&gt;
在弹出的包含面板的页面上(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);
}
}