0

我有一个表单和一些我称之为动态的用户控件。用户控件有一个 radGrid[telerik 组件] 我也有 radwindows。当用户在 rad windows 表单中插入或更新时,我想在用户控件中更新我的网格。我使用下面的代码当 Windows 窗体关闭时更新网格,但是当加载主窗体时出现错误,因为没有带有网格的用户控件;

    function OnClientClose(sender, args) {
        var masterTable = $find("<%=RadGrid1.ClientID%>").get_masterTableView();

        masterTable.rebind();

    }     
4

1 回答 1

0

1)看看这里:http ://www.telerik.com/support/kb/aspnet-ajax/general/using-dynamic-unique-names-for-javascript-functions.aspx 。

2) 创建一个独特的函数来处理每个 UC 实例的 OnClientCLose

3) 在每个用户控件中声明这些函数并将它们包装在 RadScriptBlock 中

这应该让你从用户控件中引用网格。

如果窗口不是在每个实例中都很难知道您需要更新哪个网格。您可以将自定义 CSS 类设置为所需的网格,并使用它来访问其客户端对象:

var grid = $telerik.$(".myCustomClass")[0];
if(grid && grid.control) grid.get_masterTableView().rebind();
于 2013-11-12T14:11:17.017 回答