首页 新闻 会员 周边 捐助

求救啊!UpdatePanel找不到设置的trigger

0
悬赏园豆:20 [已关闭问题]

aspx页面动态load用户控件,用户控件中包含UpdatePanel,第一次加载的时候没问题,点击btnTest按钮回发后就报下面的错误。

异常信息:

捕捉到 System.InvalidOperationException
  Message="A control with ID 'btnTest' could not be found for the trigger in UpdatePanel 'up1'."
  Source="System.Web.Extensions"
  StackTrace:
       在 System.Web.UI.UpdatePanelControlTrigger.FindTargetControl(Boolean searchNamingContainers)
       在 System.Web.UI.AsyncPostBackTrigger.Initialize()
       在 System.Web.UI.UpdatePanelTriggerCollection.Initialize()
       在 System.Web.UI.UpdatePanel.Initialize()
       在 System.Web.UI.PageRequestManager.RegisterUpdatePanel(UpdatePanel updatePanel)
       在 System.Web.UI.ScriptManager.System.Web.UI.IScriptManagerInternal.RegisterUpdatePanel(UpdatePanel updatePanel)
       在 System.Web.UI.UpdatePanel.RegisterPanel()
       在 System.Web.UI.UpdatePanel.OnInit(EventArgs e)
       在 System.Web.UI.Control.InitRecursive(Control namingContainer)
       在 System.Web.UI.Control.InitRecursive(Control namingContainer)
       在 System.Web.UI.Control.AddedControl(Control control, Int32 index)
       在 System.Web.UI.ControlCollection.Add(Control child)
       在 FrmTestTriggers.Page_Load(Object sender, EventArgs e)

代码 母页面

<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:Label ID="lblContain" runat="server"></asp:Label>
 </form>
</body>
</html>

cs 文件

    protected void Page_Load(object sender, EventArgs e)
    {           

      WucTestTriggers wc = this.LoadControl("WucTestTriggers.ascx") as    WucTestTriggers;
            wc.ID = "idTest";
            this.lblContain.Controls.Add(wc);
    }

子用户控件

<asp:UpdatePanel ID="up1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="False">
        <ContentTemplate>
            <asp:DataGrid ID="dgList" runat="server" AutoGenerateColumns="true">
            </asp:DataGrid>
            <asp:TextBox ID="txtTest" runat=server Text="bu"></asp:TextBox>
        
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnTest" EventName="Click"></asp:AsyncPostBackTrigger>
        </Triggers>
    </asp:UpdatePanel>
       <asp:Button ID="btnTest" runat="server" Text="触发" OnClick="btnTest_Click" />
 

问题补充: 上面的红色部分放到<ContentTemplate>里面就报错了啊。 <asp:UpdatePanel ID="up1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="False"> <ContentTemplate> <asp:DataGrid ID="dgList" runat="server" AutoGenerateColumns="true"> </asp:DataGrid> <asp:TextBox ID="txtTest" runat=server Text="bu"></asp:TextBox> <asp:Button ID="btnTest" runat="server" Text="触发" OnClick="btnTest_Click" /> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="btnTest" EventName="Click"></asp:AsyncPostBackTrigger> </Triggers> </asp:UpdatePanel> 感觉像是生命周期的影响,搞不清楚具体根源,求救啊。
小绿豆的主页 小绿豆 | 初学一级 | 园豆:180
提问于:2010-04-01 17:24
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册