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

时间:2014-07-21 17:02:38

标签: c# asp.net

我遇到了asp:UpdatePanel和ASP.NET 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>

2 个答案:

答案 0 :(得分:6)

按如下方式更改您的代码:

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

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

您也可以尝试使用以下代码进行相同的

UpdatePanel1.Triggers.Add(new AsyncPostBackTrigger()
{
    ControlID = useEtl,
    EventName = "SelectedIndexChanged", // this may be optional
}

答案 1 :(得分:0)

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>