You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET WebForms下拉框选择变更后页面空白,SelectedIndexChanged事件不触发的排查求助

ASP.NET WebForms下拉框选择变更后页面空白,SelectedIndexChanged事件不触发的排查求助

我目前在维护一个基于VB.NET的老WebForms应用,需要给一个原本运行正常的页面新增一个下拉框控件。这个下拉框在设计器和运行时都能正常显示,但一旦切换选中项,整个页面就会变成空白的白页,而且没有任何错误提示。因为页面之前运行完全正常,我推测问题肯定出在这个新增的下拉框上。

我在后台代码里给SelectedIndexChanged事件加了断点,但事件完全没有被触发——除了事件本身的代码,我还没写任何和这个下拉框交互的其他逻辑。如果把AutoPostBack设为false的话,页面不会刷新,但SelectedIndexChanged事件也完全不会触发。

前端下拉框代码

<asp:DropDownList ID="ddlSomething" runat="server" BackColor="#fff4e3" Font-Names="Verdana" Font-Size="12px" AutoPostBack="true">
    <asp:ListItem Text="unbekannt" Value="0"></asp:ListItem>
    <asp:ListItem Text="enthalten" Value="1"></asp:ListItem>
    <asp:ListItem Text="nicht enthalten" Value="2"></asp:ListItem>
</asp:DropDownList>

后台VB.NET代码

Protected WithEvents ddlSomething As Global.System.Web.UI.WebControls.DropDownList

Protected Sub ddlSomething_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlSomething.SelectedIndexChanged
    Debug.WriteLine(ddlSomething.SelectedValue)
    Debug.WriteLine(ddlSomething.SelectedItem)
End Sub

补充尝试(Edit)

后来我还尝试了AJAX局部刷新的方案,想避免整页回发带来的问题,但结果还是一样:

调整后的前端代码

<asp:ScriptManager runat="server" ID="ScriptManager1" />
<asp:UpdatePanel runat="server" ID="UpdatePanel1" ChildrenAsTriggers="True">
    <ContentTemplate>
        <asp:Label ID="lblsomething" runat="server" Text="some text:" Font-Names="Verdana" Font-Size="11px"></asp:Label>
        <asp:DropDownList ID="ddlSomething" runat="server" BackColor="#fff4e3" Font-Names="Verdana" Font-Size="12px" AutoPostBack="True" OnSelectedIndexChanged="ddlSomething_SelectedIndexChanged">
            <asp:ListItem Text="unbekannt" Value="0"></asp:ListItem>
            <asp:ListItem Text="enthalten" Value="1"></asp:ListItem>
            <asp:ListItem Text="nicht enthalten" Value="2"></asp:ListItem>
        </asp:DropDownList>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlSomething" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>

后台事件代码(与之前一致)

Protected Sub ddlSomething_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlSomething.SelectedIndexChanged
    Debug.WriteLine(ddlSomething.SelectedValue)
    Debug.WriteLine(ddlSomething.SelectedItem)
End Sub

现在完全摸不着头脑,有没有大佬能帮忙排查下问题出在哪?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 09:14:35