UpdatePanel触发器错误.无法在UpdatePanel中的触发器的关联控件上找到事件

本文关键字:UpdatePanel 触发器 事件 控件 错误 关联 | 更新日期: 2023-09-27 18:13:50

我有asp:UpdatePanel和asp的触发器的麻烦。净WebForms。触发器无法在我的UpdatePanel上找到事件。我见过很多例子,我复制了他们的实现,但不能得到正确的。我是WebForms的新手。请帮助。谢谢你。

                <tr>
                    <td class="label1">Will use ETL?</td>
                    <td>
                        <asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="updatePanel1">
                            <ContentTemplate>
                                <asp:RadioButtonList ID="useEtl" runat="server" RepeatDirection="Horizontal" Width="120" OnSelectedIndexChanged="useEtl_SelectedIndexChanged">
                                    <asp:ListItem Text="Yes" Value="1" />
                                    <asp:ListItem Text="No" Value="0" />
                                </asp:RadioButtonList>
                            </ContentTemplate>
                        </asp:UpdatePanel>
                    </td>
                    <td class="label1">ETL Box</td>
                    <td>
                        <asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="updatePanel2">
                            <ContentTemplate>
                                <asp:TextBox ID="etlBox" runat="server"/>
                            </ContentTemplate>
                            <Triggers>
                                 <asp:AsyncPostBackTrigger ControlID="useEtl" EventName="OnSelectedIndexChanged" />
                             </Triggers>
                        </asp:UpdatePanel>
                    </td>
                </tr>

UpdatePanel触发器错误.无法在UpdatePanel中的触发器的关联控件上找到事件

按如下方式修改代码:

<asp:AsyncPostBackTrigger ControlID="useEtl" EventName="SelectedIndexChanged" />

您提到的事件名称是错误的,这是不工作的原因。

您也可以尝试使用以下代码获取相同的

UpdatePanel1.Triggers.Add(new AsyncPostBackTrigger()
{
    ControlID = useEtl,
    EventName = "SelectedIndexChanged", // this may be optional
}
td>
                        <asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="updatePanel1">
                            <ContentTemplate>
                                <asp:RadioButtonList ID="useEtl" runat="server" RepeatDirection="Horizontal" AutoPostBack="true" Width="120" OnSelectedIndexChanged="useEtl_SelectedIndexChanged">
                                    <asp:ListItem Text="Yes" Value="1" />
                                    <asp:ListItem Text="No" Value="0" />
                                </asp:RadioButtonList>
                            </ContentTemplate>
                        </asp:UpdatePanel>
                    </td>
                    <td class="label1">ETL Box</td>
                    <td>
                         <asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="updatePanel2">
                            <ContentTemplate>
                                <asp:TextBox ID="etlBox" runat="server" Enabled="false"/>
                            </ContentTemplate>
                           <Triggers>
                                 <asp:AsyncPostBackTrigger ControlID="useEtl" EventName="SelectedIndexChanged" />
                             </Triggers>
                        </asp:UpdatePanel>
                    </td>