我有一个程序类,其属性为 Id、ProgramName、ShortName 和 Code,我的应用程序 我有一个像 ASP DDL
<asp:DropDownList ID="DDLProgram" runat="server"
OnSelectedIndexChanged ="OnDDLProgramChanged" AutoPostBack = "true">
</asp:DropDownList>
我的 OnDDLProgramChanged 方法定义为
protected void OnDDLProgramChanged(object sender, EventArgs e)
{
List<CcProgramEntity> programEntities = GetAllPrograms();
DDLProgram.DataSource = programEntities;
DDLProgram.DataTextField = "Shortname";
DDLProgram.DataValueField = "Id";
//My Problem goes here
string programCode = programEntities[DDLProgram.SelectedIndex].Code;
}
我的列表正确获取了所有记录,我已经检查过了。但是每当我更改 DDL 中的项目时,所选索引都不会更改。所选索引保持为零。因此,除了 0 索引的项目之外,我无法获取其他项目的代码。
在这种情况下,有人可以帮助我吗?
最佳答案
您在 selectedIndex Change 事件
中再次绑定(bind)数据,重新绑定(bind)后它将重置您当前的 SelectedIndex。您不需要将数据重新绑定(bind)到 SelectedIndex Change Event
应该是这样的
protected void OnDDLProgramChanged(object sender, EventArgs e)
{
string programCode = programEntities[DDLProgram.SelectedIndex].Code;
}
关于c# - DDL 的选定索引在 asp .net 中始终等于零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6578200/