我创建了名为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'
答案 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();
}