在UserControl注册客户端脚本中更新面板

时间:2011-06-24 17:37:34

标签: asp.net ajax

我在用户控件中有几个更新面板。其中一个更新面板由一个在jQuery UI对话框中打开的div包装。

在回帖后我想通过注册客户端脚本关闭对话框,以下代码似乎不会输出到屏幕。

    void EventEditControl_EventUpdated(object sender, EventArgs e)
    {
        BindGrid();
        CloseDialog("dialog-form");
        upGrid.Update();
    }

    private void CloseDialog(string dialogId)
    {
        string script = string.Format(@"closeDialog('{0}')", dialogId);
        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), UniqueID, script, true);
    }

1 个答案:

答案 0 :(得分:3)

我假设this是一个包含div的用户控件,div包含更新面板。如果是这样那就是问题所在。每MSDN

  

客户端脚本块   使用这种方法注册的是   仅在控制时发送到页面   表示内部的控件   正在进行的UpdatePanel 控件   更新。

如果我之前的假设是正确的,那么this不在更新面板内,它包含更新面板。而是将this替换为对更新面板内控件的引用,如果需要添加隐藏字段或文字来完成工作。

相关问题