ÔÚASP.NET 2.0 ÍøÕ¾Ò³ÃæµÄ¿ª·¢¹ý³ÌÖУ¬¾­³£ÐèÒª°ÑDropDownListµÈÁбíÀà¿Ø¼þµÄSelectedValueÖµÉèÖÃΪһ¸ö´ÓÊý¾Ý¿â»òÆäËûµØ·½¶ÁÈ¡³öÀ´µÄÖµ¡£

×î¼òµ¥µÄ°ì·¨¾ÍÊÇÖ±½Ó½øÐÐÖ¸¶¨£º
DropDownList1.SelectedValue = "Öйú";
µ«ÓеÄʱºòÈç¹ûDropDownList1ÖÐûÓÐ"Öйú"ÕâÒ»ÏîµÄ»°£¬¸³Öµ¾Í»á³öÏÖÒì³££º
Òì³£ÏêϸÐÅÏ¢: System.ArgumentOutOfRangeException: ¡°DropDownList1¡±ÓÐÒ»¸öÎÞЧ SelectedValue£¬ÒòΪËü²»ÔÚÏîÄ¿ÁбíÖС£

ÏëҪʵÏÖµÄÄ¿±ê£ºÈç¹ûÖ¸¶¨µÄÖµ²»ÔÚÁбíÏîÖУ¬Ôò²»ÉèÖÃÑ¡ÖÐÏ¶øÇÒ²»ÒªÅ׳öÒì³£¡£


²é¿´MSDN£º
SelectedValue ÊôÐÔ»¹¿ÉÒÔÓÃÓÚÑ¡ÔñÁÐ±í¿Ø¼þÖеÄijһÏ·½·¨ÊÇÓøÃÏîµÄÖµÉèÖôËÊôÐÔ¡£Èç¹ûÁÐ±í¿Ø¼þÖеÄÈκÎÏî¶¼²»°üº¬Ö¸¶¨Öµ£¬Ôò»áÒý·¢ System.ArgumentOutOfRangeException¡£

µ«Ææ¹ÖµÄÊÇÕâÑù¸³ÖµÔڴ󲿷ÖÇé¿ö϶¼²»»á³ö´í£¬Ö»ÊÇż¶û»á³ö´í£¬Í¨¹ý·´Éä²éÁËÒ»ÏÂSelectedValueµÄʵÏÖ£¬ÕÒµ½ÁËÔ­Òò¡£
public virtual string SelectedValue
{
      get
      {
            int num1 = this.SelectedIndex;
            if (num1 >= 0)
            {
                  return this.Items[num1].Value;
            }
            return string.Empty;
      }
      set
      {
            if (this.Items.Count != 0)
            {
                  if ((value == null) || (base.DesignMode && (value.Length == 0)))
                  {
                        this.ClearSelection();
                        return;
                  }
                  ListItem item1 = this.Items.FindByValue(value);
                  if ((((this.Page != null) && this.Page.IsPostBack) && this._stateLoaded) && (item1 == null))
                  {
                        throw new ArgumentOutOfRangeException("value", SR.GetString("ListControl_SelectionOutOfRange", new object[] { this.ID, "SelectedValue" }));
                  }
                  if (item1 != null)
                  {
                        this.ClearSelection();
                        item1.Selected = true;
                  }
            }
            this.cachedSelectedValue = value;
      }
}

Ô­À´Ö»ÓÐÔÚÒ³ÃæÊÇIsPostBackµÄÇé¿öÏ£¬¸³Öµ²Å»á³ö´í¡£


ÁíÍâÕâÑùдҲ»á³öÏÖÒì³££º
DropDownList1.Items.FindByValue("Öйú").Selected = true;
×îºóÕÒµ½ÁËÒ»ÖÖ·½·¨¿ÉÒÔʵÏÖÉÏÃæµÄÒªÇó£º
DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue("Öйú"));
¾ÍÊÇÈç¹ûͨ¹ýFindByValueûÓÐÕÒµ½Ö¸¶¨ÏîÔòΪnull£¬¶øItems.IndexOf(null)»á·µ»Ø-1