当前位置:编程学习 > asp >>

禁用或启用DropDownList的Items

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

\


InsusDropDownList类别:
  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"]);
        }  



摘自 Insus.NET

补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,