Asp.net 来自用户控件页的触发器控件ID

Asp.net 来自用户控件页的触发器控件ID,asp.net,.net,vb.net,Asp.net,.net,Vb.net,我有下面的代码,看起来它应该可以工作。但是,引用控件ID为“gvSearch”的控件的触发器实际上是用户控件页中的gridview 如何访问该gridview以便将其用作触发器 谢谢 <asp:UpdatePanel ID="pnlSearch" ChildrenAsTriggers="true" runat="server" > <Triggers> <asp:AsyncPostBackTrigger ControlID="btnS

我有下面的代码,看起来它应该可以工作。但是,引用控件ID为“gvSearch”的控件的触发器实际上是用户控件页中的gridview

如何访问该gridview以便将其用作触发器

谢谢

<asp:UpdatePanel ID="pnlSearch" ChildrenAsTriggers="true" runat="server" >
      <Triggers>
          <asp:AsyncPostBackTrigger ControlID="btnSearch" />
          <asp:AsyncPostBackTrigger ControlID="gvSearch" />
      </Triggers>
</asp:UpdatePanel>

谢谢

<asp:UpdatePanel ID="pnlSearch" ChildrenAsTriggers="true" runat="server" >
      <Triggers>
          <asp:AsyncPostBackTrigger ControlID="btnSearch" />
          <asp:AsyncPostBackTrigger ControlID="gvSearch" />
      </Triggers>
</asp:UpdatePanel>
大纲:

<%@ Page Title="test">
<%@ Register src="test1.ascx" tagname="test1" tagprefix="test1uc" %>
    <UpdatePanel>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnSearch" />
            <asp:AsyncPostBackTrigger ControlID="gvSearch" />
        </Triggers>
        <ContentTemplate>
             <test1uc:test1 ID="test1a" runat="server" />
        </ContentTemplate>
    </UpdatePanel>

您希望使用什么事件作为触发器,即
SelectedIndexChanged
-事件?然后应用适当的方法


撇开要求访问分包合同不是好的做法这一事实不谈,下面是我最好的建议

在用户控件中创建一个
公共子控件
,如下所示:

Private ParentUpdatePanel作为System.Web.UI.UpdatePanel
'必须在加载的每个页面上调用!
公共子注册表Synctrigger(MyScriptManager作为System.Web.UI.ScriptManager,MyUpdatePanel作为System.Web.UI.UpdatePanel)
MyScriptManager.RegisterAsyncPostBackControl(gvSearch)
ParentUpdatePanel=MyUpdatePanel
端接头
在Page_Load事件中,调用函数如下:

受保护的子页\u加载(发送方作为对象,e作为事件参数)
'调用新函数,传入当前ScriptManager和UpdatePanel
'脚本管理器处理异步回发
'UpdatePanel处理动态更新
test1.RegisterAsyncTrigger(ScriptManager.GetCurrent(Me),pnlSearch)
端接头
在必须更新面板的
gvSearch
GridView控件内的事件处理程序中,将包含以下代码:

ParentUpdatePanel.Update()

但是ControlID为“gvSearch”的控件(本例中为gridview)位于用户控件内,我正试图找出如何从我的.aspx页面访问它-thanks@999cm999:常见问题,请查看我上次提供的链接。一般来说,当不同的用户控件相互依赖时,这不是一个好方法,它们不再单独工作。在这种情况下,我的页面中的UpdatePanel包含一个存在于用户控件中的gridview。@999cm999:结构还不是很清楚。UserControl是否在UpdatePanel中?给出布局的大纲。哦,好的,我已经更新了我的问题,包括我的页面的大纲。
<asp:AsyncPostBackTrigger ControlID="test1a" EventName="GridSearchClicked" />