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



我创建了名为Attach_Template的Usercontrol,并在主页面中将其ID分配为"attachTemplate",如下所示:

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

在我的用户控件中,有一个ASPxGridview,ID="gv_Attach",ClinetInstanceName="grid"。我想写一个函数来从母版页回调这个ASPxGridView。

我已经尝试了以下代码。它似乎可以找到控件,但无法执行回调。

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

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

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

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

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

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

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

看看如何在UserControl知识库文章中引用客户端控件。

相关内容

最新更新