首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

ASP.NET DropDownList怎么绑定数据源的

2013-10-27 
ASP.NET DropDownList如何绑定数据源的?如果我要自己写个这样的控件,数据源是个集合 属性必须有一个显示值

ASP.NET DropDownList如何绑定数据源的?
如果我要自己写个这样的控件,
数据源是个集合 属性必须有一个显示值和隐藏值 怎么弄?
想知道DropDownList是怎么实现的


我现在的疑难点 就是   我不知道传进来的集合类型  只知道一个显示值隐藏值属性,内部怎么处理?

我想的是 比如传一个List<a> 

内部就是  
A a =selectItem as A
a.ID  a.Name

这样只能使用一个

想多处怎么办
[解决办法]
显示的内容是类型A的ToString方法的返回内容,要访问具体属性,将选择的item转为A类型
[解决办法]
foreach(var a in List<a>)
{
}
[解决办法]
一般都是定义一个类型,给DropDownLis数据源一个明确的类型,之后在给 DropDownLis 数据源的如果不对,就转换一下。定义一个只有Key 和Value的类型。 这样 DropDownLis里面内部绑定的时候就可以明确了。
[解决办法]


 /// <summary>
        /// 绑定DownList 设置text跟value 没有-请选择-
        /// </summary>
        /// <param name="TableName">表名(可以加条件)</param>
        /// <param name="MyDDL">需要绑定的DownList</param>
        /// <param name="TextStr">text的字段</param>
        /// <param name="ValueStr">value的字段</param>
        public static void BindDropDownList(string TableName, DropDownList MyDDL, string TextStr, string ValueStr)
        {
            string sql = "select * from " + TableName;
            MyDDL.Items.Clear();
            SqlDataReader dr = DbHelperSQL.GetDataReader(sql);
            while (dr.Read())
            {
                ListItem MyItem = new ListItem();
                MyItem.Text = dr[TextStr].ToString();
                MyItem.Value = dr[ValueStr].ToString();
                MyDDL.Items.Add(MyItem);
            }
            dr.Close();
        }





dosoft.BLL.BaseBLL.BindDropDownList("xt_tc_Plant", dropdownlist1, "name", "id");

[解决办法]
DropDownList ddl;
ddl.items.clear();
foreach(var a in List<a>)
{
   ListItem MyItem = new ListItem();
   MyItem.Text=a.显示值;
   MyItem.Value=a.隐藏值;
   ddl.items.add(MyItem );


这就可以绑定上了

热点排行