下拉列表未将SelectedIndex发送回ASP.NET中的服务器

时间:2014-12-17 20:40:07

标签: c# asp.net dropdownbox

这是一个奇怪的。我有一个非常简单的页面,其中包含一些标签和一个Dropdown List控件。该控件是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); 
}

1 个答案:

答案 0 :(得分:1)

我找到了答案:

它与.Value有关。如果有多个.Ialue相同的ListItem,则只选择第一个。由于.Value没有从最初的SelectedIndex改变,所以没有回发。

我碰巧记得这是因为有人在几个月前就已经提到了这件事。当然,也没有例外。

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