在加载DropDownList控件时,没有预定它的SelectedValue属性值,但此时测试其SelectedIndex 为0,这与选定它的第一项时一样。
从程序代码中怎样判别DropDownList控件的列表项的任一项都没有被选定?

解决方案 »

  1.   

    dropdownlist加载时就是默认选中第0项.
    你可以适当现为dropdownlist添加一项空的做依据.
      

  2.   

    dropdownlist加载时就是默认选中第0项. 
    你可以适当现为dropdownlist添加一项空的做依据.
      

  3.   

    为了不选中第0项,在代码中设置SelectedIndex =-1。但在加载DropDownList控件后,  
    测试SelectedIndex的结果仍为0,为什么设置没有生效?
      

  4.   

    里边啥都没有DropDownList1.SelectedIndex这玩意就是-1
      

  5.   

    你可以在DropDownList.Items中加一个Item
    Item.text = ""
    Item.value = -1
    并且放在第一个这样你就可以判断用户有没有选了up
      

  6.   

    什么都不选不是可能的.
    只不过楼主可以加入一个空项.默认选中空项New ListItem("什么都不选","什么都不选");
      

  7.   

    不用设什么的,我是自行绑定的
    DataRow[] dr = ydband.GetBrand_ByDepth(0);
                if (dr != null)
                {
                    for (int j = 0; j < dr.Length; j++)
                    {
                        ddlBrandMain.Items.Insert(j, new ListItem(dr[j]["BrandName"].ToString(), dr[j]["BrandID"].ToString()));
                        //当change时,绑定hiBrandID的值
                        ddlBrandMain.Items[j].Attributes.Add("onClick", setOnClick(hiBrandID, dr[j]["BrandID"].ToString()));
                    }
                }再在OnPreRender里加入ddlBrandMain.Attributes.Add("onchange", "javascript:document.getElementById('" + hiBrandID.ClientID + "').value=this.options[this.selectedIndex].value;);这样dropdownlist就没有选中任何项了  ----------  一直我也在想这个问题,我到现在也搞不懂为什么这样做就可以了,请有关高手指定关键在哪里了注:我去除了ddlSerialMain.SelectedIndexChanged += new EventHandler(ddlSerialMain_SelectedIndexChanged); 这样的事件