1

我有一个RadGridinside RadAjaxPanel,它有一个 View 按钮,该按钮在 jQuery 弹出窗口中显示用户控件,也在 a 内RadAjaxPanel,它使用删除按钮显示网格记录的详细信息。单击删除按钮会导致部分回发,这会导致记录被删除并重新绑定网格,从而从中删除已删除的记录。

然后我需要做的是运行一些客户端脚本来关闭弹出窗口。我努力了:

private void RiskEditor_DeleteClick( object sender, EventArgs e )
{
    this.grdRiskAnalysis.Rebind();
    ScriptManager.RegisterStartupScript(this.RadAjaxPanelRiskEditor,
                                        this.RadAjaxPanelRiskEditor.GetType(),
                                        "closepopup",
                                        "delayClosePopup($j(this).closest('.ui-dialog'), 1000);",
                                        true);
}

在此示例中,RadAjaxPanelRiskEditorAjaxPanel用户控件所在的位置,但我也尝试使用网格所在的面板注册脚本。两者都不起作用。

有人可以解释我哪里出错了以及如何实现这一点吗?

谢谢

斯图尔特

4

1 回答 1

0

我会做几件事:

  • 我会使用 ScriptManager.RegisterClientScriptBlock,因为 RegisterStartupScript,根据 msdn:“为每个异步回发注册一个启动脚本块”。

如果这不起作用,则有一些来自 ms 的客户端 js:http: //msdn.microsoft.com/en-us/library/bb397536,您可以使用:http: //msdn.microsoft.com/en-us/ library/bb383810.aspx - Sys.WebForms.PageRequestManager endRequest,它将执行特定的 js 代码,因此也许您可以将关闭对话框代码放在那里,并带有一些条件逻辑。

于 2012-08-06T20:20:33.647 回答