在代码隐藏中隐藏 ASPxPopupControl
本文关键字:隐藏 ASPxPopupControl 代码 | 更新日期: 2023-09-27 18:19:51
我添加了一个ASPxPopupControl,其中包括一个保存按钮,我想在保存记录后关闭它。
我尝试了以下方法:
string str = @"<script language=""javascript"" type=""text/javascript"">function HideEscalateAsk() {pcEscalteAsk.Hide();}</script>";
Page.RegisterClientScriptBlock("ClientScript", str);
但它仍然不起作用。如何关闭 ASPxPopupControl?
第一件事。你如何处理保存按钮; Server Side
事件或Client Side
。
如果您使用的是客户端Callback
则使用服务器端事件来保存数据,并使用End Callback
客户端事件来关闭弹出窗口。
如果使用服务器端事件,请使用ASPxPopupControl.ShowOnPageLoad
属性。
protected void btnShowPopup_Click(object sender, EventArgs e) {
txtPopup.Text = txtMain.Text;
ASPxPopupControl1.ShowOnPageLoad = true;
}
protected void btnOK_Click(object sender, EventArgs e) {
// TODO: your code is here to process the popup window's data at the server
txtMain.Text = txtPopup.Text;
ASPxPopupControl1.ShowOnPageLoad = false;
}
有关信息,请参阅以下链接:
如何显示 ASPxPopupControl
如何通过服务器端代码显示和隐藏弹出窗口
我认为这是DevSupport提到的最好的方法。您必须编写如下所示的 java 脚本:
//This function will close the pop window
function ClosePopWindow() {
var paentWin = window.parent;
window.parent.PopWindow.Hide();
}
和
//This function will clear inside content of pop window
function ClearPopWindow() {
var paentWin = window.parent;
paentWin.PopWindow.SetContentHtml(null);
}
然后在需要时从代码隐藏中调用它(在您想要执行的所有进程之后(,如下所示:
Page.ClientScript.RegisterStartupScript(GetType(), "script", "ClosePopWindow();", true);
或者如果你想清除内容,你可以使用第二个功能。请注意,PopWindow
ClientInstanceName
ASPxPopupControl
。此方法适用于任何情况,例如,当母版页和内容 URL 中定义的弹出窗口是没有母版页的窗口时,因为它尝试在浏览器中的最终 html 元素中获取父窗口。
您可以在以下位置阅读开发人员支持答案:https://www.devexpress.com/Support/Center/Question/Details/B199294
在 ASP.NET 论坛上,郭特里对此的回答是:http://forums.asp.net/t/1990775.aspx?How+to+close+the+popup+from+the+popup+containing+page+
希望这有帮助。