首页 新闻 搜索 专区 学院

奇怪的死循环。。。

0
[已解决问题] 解决于 2014-04-16 15:29
        /// <summary>
        ////// </summary>
        private void City()
        {
            ddlCity.Items.Clear();

            DataTable TemDt = new DataTable();
            TemDt = HSSM_Public_DB.PblicQuery("*", "City", "ProvinceCode=" + ddlProvice.SelectedValue);
            int m = 0;

            for (int i = 0; i < TemDt.Rows.Count; i++)
            {
                ListItem li = new ListItem();
                li.Text = TemDt.Rows[i]["CityName"].ToString();
                li.Value = TemDt.Rows[i]["Code"].ToString();
                if (!string.IsNullOrEmpty(CityCode) && li.Value == CityCode)
                {
                    li.Selected = true;
                    m++;
                }
                ddlCity.Items.Add(li);
            }
            ddlCity.Items.Insert(0, new ListItem("-请选择市-", "-1"));

            if (m == 0)
            {
                ddlCity.SelectedIndex = 0;
                CityCode = ddlCity.SelectedValue;
            }
        }

不知道为什么运行了:CityCode = ddlCity.SelectedValue; 之后就一直回到: ddlCity.Items.Clear();一直执行,到了CityCode = ddlCity.SelectedValue;又回去

陷入死循环。。。原因在哪。。。

以便以谢的主页 以便以谢 | 初学一级 | 园豆:119
提问于:2014-04-16 10:59
< >
分享
最佳答案
0

是City()被循环调用了吧?

奖励园豆:5
鳳梨酥 | 菜鸟二级 |园豆:287 | 2014-04-16 11:04

以便以谢 | 园豆:119 (初学一级) | 2014-04-16 11:15
其他回答(2)
0

你看下 ddlCity的 点击和更改事件,在这边加断点看哪调用了。

北落师门α | 园豆:17 (初学一级) | 2014-04-16 11:15
0

是不是下面这种情况啊:

ddlCity.SelectedIndex = 0;

这句触发了ddlCity的SelectIndexChanged事件,然后事件中有调用了City()方法,造成了死循环。

水晶途途 | 园豆:1434 (小虾三级) | 2014-04-16 14:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册