禁用或启用DropDownList的Items

此篇算是对http://www.cnblogs.com/insus/archive/2012/04/17/2454620.html重构升级。

因为网友需要不但能禁用还能可以启用DropDownList的Items。为了不想用户写太多代码。Insus.NET写了一个类别,并让它继承了System.Web.UI.WebControls命名空间下的DropDownList. 可从下图看到InsusDropDownList实例化并传入DropDownList控件,然后实例化之后的对象,就是可以使用highlight的四个方法DisableImsByText(), DisabletemsByVue() ,EnableItemsBText(), EnableItemsByValue()。

禁用或启用DropDownList的Items

 

 

InsusDropDownList类别:

禁用或启用DropDownList的Items InsusDropDownList
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;

///   <summary>
///  Summary description for InsusDropDownList
///   </summary>
namespace Insus.NET
{
     public  class InsusDropDownList : DropDownList
    {
        DropDownList _DropDownList;

         public InsusDropDownList(DropDownList dropDownList)
        {
             this._DropDownList = dropDownList;
        }

         public  void DisableItemsByText( string text)
        {          
            DisableItems(GetIndexByText(text));
        }

         public  void EnableItemsByText( string text)
        {            
            EnableItems(GetIndexByText(text));
        }

         public  void DisableItemsByValue( string value)
        {           
            DisableItems(GetIndexByValue(value));
        }

         public  void EnableItemsByValue( string value)
        {            
            EnableItems(GetIndexByValue(value));
        }

         private  int GetIndexByText( string text)
        {
             return  this._DropDownList.Items.IndexOf( this._DropDownList.Items.FindByText(text));
        }

         private  int GetIndexByValue( string value)
        {
             return  this._DropDownList.Items.IndexOf( this._DropDownList.Items.FindByValue(value));
        }

         private  void DisableItems( int index)
        {
             if (index > - 1)
                 this._DropDownList.Items[index].Attributes.Add( " disabled "" disabled ");
        }

         private  void EnableItems( int index)
        {
             if (index > - 1)
                 this._DropDownList.Items[index].Attributes.Remove( " disabled ");
        }
    }
}

 

演示,启用Items: 

  if (Request.QueryString[ " site "] !=  null)
        {
            InsusDropDownList obj =  new InsusDropDownList( this.DropDownList1);
            obj.EnableItemsByText(Request.QueryString[ " site "]);
        }   

 

你可能感兴趣的:(list)