ÔÚ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
|