【问题标题】:selected index of DDL is always equal to Zero in asp .net在 asp .net 中,DDL 的选定索引始终等于零
【发布时间】:2011-07-05 05:19:29
【问题描述】:

我有一个程序类,其属性为 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 的项目。

在这种情况下谁能帮助我?

【问题讨论】:

  • 你有IsPostBack 签入你的page_load 吗?

标签: c# .net asp.net drop-down-menu selectedindexchanged


【解决方案1】:

您在selectedIndex Change event 中再次绑定数据,重新绑定后它将重置您当前的 SelectedIndex。您无需将数据重新绑定到SelectedIndex Change Event 中的下拉列表

应该是这样的..

protected void OnDDLProgramChanged(object sender, EventArgs e)
    {

        string programCode = programEntities[DDLProgram.SelectedIndex].Code;
    }

【讨论】:

  • 感谢您的建议,我已经修改了我的代码,现在看起来更整洁了
【解决方案2】:

您必须在页面加载方法上将数据绑定到 DropDownList

if (!IsPostBack)
{
    DDLProgram.DataSource = programEntities;
    DDLProgram.DataTextField = "Shortname";
    DDLProgram.DataValueField = "Id";
    DDLProgram.DataBind();
}

否则每次都会绑定数据,从而清除选择

【讨论】:

  • @Eranga:感谢您的解决方案,它对我来说非常有效。但是现在它仅在我更改项目时才会发生。如果我想让它在第一次加载页面时工作怎么办?我的页面中有多个 DDL,我通过 Bind DDLs() 方法绑定所有这些 DDL。我在页面加载方法的 if(!IsPostBack) 条件中调用这个 M
  • @Pankouri its Happening only when I am Changing the Item 是什么意思?你是OnDDLProgramChanged中的下拉列表吗?
【解决方案3】:

为什么要在OnDDLProgramChanged 中分配数据源,这将重置您所做的选择。

【讨论】:

    猜你喜欢
    • 2016-07-02
    • 2011-07-16
    • 1970-01-01
    • 2018-05-24
    • 2023-03-25
    • 1970-01-01
    • 2012-12-29
    • 2016-09-22
    • 2011-12-19
    相关资源
    最近更新 更多