ASP.. NET下拉列表SelectedIndexChanged with UpdatePanel AsyncPost

本文关键字:UpdatePanel AsyncPost with SelectedIndexChanged NET 下拉列表 ASP | 更新日期: 2023-09-27 18:02:36

我的DDL不能与SelectedIndexChanged一起工作,或者说它只在第一次工作。第二次它不再触发drpItemType_SelectedIndexChanged方法。

ASPX

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:DropDownList ID="drpItemType" runat="server" CssClass="drpDown" Width="370px" OnSelectedIndexChanged="drpItemType_SelectedIndexChanged" AutoPostBack="true">
              <asp:ListItem Text="Computer (Desktop/Laptop)" Value="PC"></asp:ListItem>
              <asp:ListItem Text="Others" Value="Others"></asp:ListItem>
        </asp:DropDownList>
        <asp:Label ID="lblID1" runat="server" />
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="drpItemType" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>

背后的代码
protected void drpItemType_SelectedIndexChanged(object sender, EventArgs e)
{
     if (drpItemType.SelectedValue == "PC")
     {
         lblID1.Text = "PC";
     }
     else if (drpItemType.SelectedValue == "Others")
     {
         lblID1.Text = "Others";
     }
}

ASP.. NET下拉列表SelectedIndexChanged with UpdatePanel AsyncPost

实际上你的代码工作得很好。我将它复制并粘贴到一个新项目中,每次都运行良好。你自己试试吧。我认为你的页面上还有其他东西导致JavaScript错误,并阻止随后的回发工作。