下拉列表默认为0 [英] The drop downs default to 0

查看:142
本文介绍了下拉列表默认为0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我正在从第一个值中填充两个下拉列表,效果很好,但是当我将其他两个下拉列表的索引设置为零时,所有默认值为零


 受保护的  void  ddlLifeCover_SelectedIndexChanged(对象发​​件人,EventArgs e)
        {
            ddlDisabilityCover.Enabled =  true ;
            ddlDisabilityCover.Items.Clear();
            ddlDreadDiseaseCover.Enabled =  true ;
            ddlDreadDiseaseCover.Items.Clear();


             int 选择=  int  .Parse(ddlLifeCover.SelectedItem.Value);

             foreach (ListItem lis  in  ddlLifeCover.Items)
            {
                如果( int  .Parse(lis.Value)><  =选择)
                {
                    ddlDisabilityCover.Items.Add(lis);
                    ddlDreadDiseaseCover.Items.Add(lis);

                }

                ddlDisabilityCover.SelectedIndex =  0 ;
            }


               }

            } 

解决方案

无论采用哪种框架,更改放置列表中的项目都会重置所选索引.如果必须添加或删除项目,请先存储选定的索引,并在完成后将其重置.


当我将其他两个drop索引都设置为零时,将所有默认索引都设置为零归零
这是因为您在此处处理对象(参考设置而不是值设置).

请参阅:

 ddlDisabilityCover.Items.Add(lis);
ddlDreadDiseaseCover.Items.Add(lis); 


您找到了添加到其他项目的ddlLifeCover.Item.这是参考类型的连接.因此,实际上,您是在所有三个引用中的一个列表项中进行设置以重置其他项.


如果它在ASP.NET中,则发生PostBack.

if(!isPostBack)
{
}


是必需的


hi
i am populating two drop downs from the values in the first it works fine but when i put the other two drops index to zero the all default to zero


protected void ddlLifeCover_SelectedIndexChanged(object sender, EventArgs e)
        {
            ddlDisabilityCover.Enabled = true;
            ddlDisabilityCover.Items.Clear();
            ddlDreadDiseaseCover.Enabled = true;
            ddlDreadDiseaseCover.Items.Clear();


            int selection = int.Parse(ddlLifeCover.SelectedItem.Value);

            foreach (ListItem lis in ddlLifeCover.Items)
            {
                if (int.Parse(lis.Value) <= selection)
                {
                    ddlDisabilityCover.Items.Add(lis);
                    ddlDreadDiseaseCover.Items.Add(lis);

                }

                ddlDisabilityCover.SelectedIndex = 0;
            }


               }

            }

解决方案

Regardless of the framework, changing the items in a drop list, resets the selected index. If you must add or remove items, store the selected index first and reset it when you''re done.


when i put the other two drops index to zero the all default to zero
This is because you are dealing with objects here (reference setting and not value setting).

See:

ddlDisabilityCover.Items.Add(lis); 
ddlDreadDiseaseCover.Items.Add(lis);


You found a ddlLifeCover.Item which you add to other items. It''s a reference type connection. Thus, in actual you are referring to one list item in all the three leading to reset on setting other.


if it is in ASP.NET then PostBack is happening.

if(!isPostBack)
{
}


is required


这篇关于下拉列表默认为0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆