下拉列表未将选定索引发送回 ASP.NET 中的服务器

本文关键字:ASP NET 服务器 索引 下拉列表 | 更新日期: 2023-09-27 18:34:35

这是一个奇怪的问题。我有一个非常简单的页面,其中包含几个标签和一个下拉列表控件。此控件是 ASP: 控件。当用户单击列表中的某个项目时,所选值根本不会传递回服务器。我什么都试过了。 EnableviewstateAutoPostBack(将索引设置回 0(、UpdatePanelOnSelectedIndexChanged 事件(从不触发(。

我知道这个控件应该如何工作。虽然无论如何都不是 ASP.NET 专家,但我对这一切有很好的处理。我从未见过控件不触发其事件或将其新值发送回服务器。

控件不是数据绑定的。相反,它是在foreach中手动填充的:

myControl.Items.Add(new ListItem(etc, etc, etc));

控件标记

<asp:DropDownList CssClass="labelDisp" 
                  ID="accountInfoList" 
                  runat="server" 
                  EnableViewState="true" 
                  autopostback="true" 
                  OnSelectedIndexChanged="accountInfoList_SelectedIndexChanged" >
</asp:DropDownList>

控制代码隐藏

if (lstAccounts != null && !Page.IsPostBack) { 
    AccountInfo acctInfo = lstAccounts[0]; 
    PopulateFormData(lstAccounts); 
}

下拉列表未将选定索引发送回 ASP.NET 中的服务器

我找到了答案:

它与.价值。如果有多个列表项,其 .值相同,仅选择第一个。自从.值未从初始选定索引更改,未执行回发。

我碰巧想起了这一点,因为几个月前有人顺便提到了它。当然,没有例外。

当我在某个时候问另一个问题时,我会尝试以正确的格式提供所有信息。感谢那些回复的人。