如何使用javascript在Usercontrol中查找ASPxGridView然后命令它执行回调?

时间:2012-02-14 03:38:39

标签: javascript asp.net user-controls devexpress aspxgridview

我创建了名为Attach_Template的Usercontrol,并在主页面中将其ID指定为“attachTemplate”,如下所示:

<uc1:Attach_Template ID="attachTemplate" runat="server" />

在我的usercontrol中,有一个ID =“gv_Attach”的ASPxGridview和ClinetInstanceName =“grid”。我想编写一个函数来从Master页面执行对此ASPxGridView的回调。

我尝试过以下代码。它似乎可以找到控件但不能执行回调。

<script type="text/javascript">
    function gvAttachPerformCallback() {
        var gvAttach = document.getElementById('<%=Attach_Template.FindControl("gv_Attach").ClientID%>');
        gvAttach.PerformCallback(null);
    }
</script>

尝试执行回调时出现以下错误消息。

错误:对象不支持属性或方法'PerformCallback'

3 个答案:

答案 0 :(得分:1)

您应该使用ClientInstanceName来访问客户端的控件。然后拨打clientInstanceName.PerformCallback(),或在您的情况下grid.PerformCallback()

答案 1 :(得分:0)

必须使用ClientInstanceName来访问客户端程序对象。

查看How to refer to a client-side control within a UserControl 知识库文章。

答案 2 :(得分:0)

测试一下,它将解决您的问题。

<script type="text/javascript">
function gvAttachPerformCallback() {
    var gvAttach = ASPxClientControl.GetControlCollection().GetByName('attachTemplate');
    gvAttach.PerformCallback();
}