Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UpdatePanel条件模式中包含usercontrol时出现问题_C#_Asp.net_.net_Asp.net 4.0 - Fatal编程技术网

C# UpdatePanel条件模式中包含usercontrol时出现问题

C# UpdatePanel条件模式中包含usercontrol时出现问题,c#,asp.net,.net,asp.net-4.0,C#,Asp.net,.net,Asp.net 4.0,这是我的标记: <asp:UpdatePanel runat="server" ID="updEml" UpdateMode="Conditional"> <ContentTemplate> <asp:LinkButton runat="server" Text="+ Add Email" ID="lnkAddEmail" OnClick="lnkAddEmail_Click" /> <di

这是我的标记:

<asp:UpdatePanel runat="server" ID="updEml" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:LinkButton runat="server" Text="+ Add Email" ID="lnkAddEmail" OnClick="lnkAddEmail_Click" />
            <div id="Emlpopup" style="width: 470px; display: none; height: 200px;">
                <uc:AddEditEmailAddress runat="server" ID="ucAdEdEml" />
            </div>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="lnkAddEmail" EventName="Click" />
            <asp:AsyncPostBackTrigger ControlID="btnAdEdEmail" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
如您所见,我的UpdateMode设置为Conditional。我希望在单击lnkAddEmail或BtnAddeMail时刷新它。但问题是BtnadeMail在我的用户控件内,所以我得到了异常

找不到触发器ID为“BtnadeMail”的控件 在UpdatePanel“updEml”中


。如何解决此问题?

默认情况下,UpdatePanel的ChildrenAsTriggers属性设置为true。这意味着它内部触发回发的任何控件都将导致刷新,因此您不需要指定任何触发器。

您可以尝试在UserControl中实现自定义EventHandler,并为新事件更新UpdatePanel触发器:这不成立。ChildrenAsTriggers用于立即控制儿童。我的按钮在usercontrol中。不,它是为任何后代而不是直接子代准备的。阅读此获取更多信息:@TimTom当UpdatePanels在UpdatePanels中时,它与usercontrol无关。UserControl中的按钮将触发UpdatePanel的刷新