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

DropDownList的数据绑定有关问题

2013-06-26 
DropDownList的数据绑定问题做一个联系,使用DropDownList控件,我使用了一个方法创建了一个数据源private L

DropDownList的数据绑定问题
做一个联系,使用DropDownList控件,我使用了一个方法创建了一个数据源

private ListItem[] sourceGet()
    {
        string[,] books = {
                                {"aaa","111"},
                                {"bbb","222"},
                                {"ccc","333"},
                                {"ddd","444"},
                                {"eee","555"},
                                {"fff","666"},
                                {"ggg","777"},
                                {"hhh","888"}
                              };
        ListItem[] items = new ListItem[8];
        for (int i = 0; i < books.GetLength(0); i++)
        {
            items[i] = new ListItem(books[i, 0], books[i, 1]);
        }
        return items;
    }


然后在LOAD事件中进行数据绑定
if (!IsPostBack)
        {
            DropDownList1.DataSource = sourceGet();
            DropDownList1.DataBind();
        }

但是最后操作发现DropDownList中的Items数据里,Text的属性和Value的属性完全一样~全是aaa对应aaa,bbb对应bbb。
而在调试中,sourceGet()方法中最后一步所显示的items数据是text和value是不一样的。只是怎么回事?求破!
[解决办法]
你这样写不觉得绕了个圈吗?
另外
DropDownList1.DataSource = sourceGet();
DropDownList1.DataTextField = "这里是数据源的Text列";
DropDownList1.DataValueField = "这里是value列";


DropDownList1.DataBind();

[解决办法]
for (int i = 0; i < books.GetLength(0); i++)
        {
            DropDownList1.Items.Add(new ......
        }

获取用Dictionary<string,string> dic=.......
DropDownList1.DataSource =dic
DropDownList1.DataTextField = "Kev";
DropDownList1.DataValueField = "Value";
DropDownList1.DataBind();
[解决办法]


           var books = new[] { 
                new { Name = "a", Price = "100" } ,
                 new { Name = "b", Price = "1" } 
            };

            DropDownList1.DataTextField = "Name";
            DropDownList1.DataValueField = "Price";
            DropDownList1.DataSource = books;
            DropDownList1.DataSource();

热点排行