首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • DropDownList 绑定问题 [已结贴,结贴人:weiwei2000wei]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • weiwei2000wei
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-06-16 10:53:15 楼主
    在 Webform 中把一个 user[] 绑定到 DropDownList 中 user 是实体类,有属性 Name,如下:

    DropDownList1.DataSource = user[];
    DropDownList1.DataValueField = "Name";
    DropDownList1.DataBind();

    榜定好后,下次我回传页面,在其中

    User user = (DropDownList1.SelectedItem) as User;  这样操作,确实失败的

    而在 Winform 中却成功!

    是不是 Web 中此种情况下不存对象集合?或者别的原因?
    请教高手,顺便提一下,不要抠语法字眼,主要是交流方法论。
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mpss
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 11:18:361楼 得分:0
    DropDownList.SelectedItem Web中是 ListItem ,强制转换无效
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Lion303
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 11:30:352楼 得分:0
    路过~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • weiwei2000wei
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 11:42:433楼 得分:0
    DropDownList.SelectedItem 即使通过某种方式好像也不行,

    如果哪位知道,请写点代码出来看看
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • brooklyng60
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 13:54:144楼 得分:0
    把你的users类添加到一个arraylist中,用arraylist在绑定下拉框
    Ilist array=new arrayList();
    array.add(new user(...));users的构造函数
    drop.datasource=array;
    ....
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • weiwei2000wei
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 14:45:555楼 得分:0
    这样真的行吗?实际上我绑定的不是 User[],而是 List <User> as IList,
    只是为了描述方便,写成了 User[],
    和ArrayList 接口一致,但是不行啊!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • julio867
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 16:26:016楼 得分:0

    DropDownList.SelectedItem 的类型是 ListItem,自然无法转换成 User 类!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojlovecd
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 16:31:407楼 得分:0
    你可以添加一个User的构造函数,将name作为参数传入
    然后DropDownList绑定User的Name
    取出来时再进行实例化User user = new User(DropDownList.SelectedValue);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • youbl
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 16:39:448楼 得分:0
    也就是说DropDownList只是枚举了对象的Name,并没有把对象实例绑定到DropDownList上去,
    所以你的转换是无效的。


    引用 1 楼 mpss 的回复:
    DropDownList.SelectedItem Web中是 ListItem ,强制转换无效
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • weiwei2000wei
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 19:58:109楼 得分:0
    也就是说不管怎么转换都不可能得出来?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • youbl
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 20:12:5310楼 得分:10
    对,你只能得到那个name,然后重新构造一个
    引用 9 楼 weiwei2000wei 的回复:
    也就是说不管怎么转换都不可能得出来?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chen_dian_dian
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 20:29:4511楼 得分:0
    public class User
    {
        string name;
    public User(string name)
    {
    //
    // TODO: 在此处添加构造函数逻辑
            this.name = name;
    //
    }
        public string Name
        {
            get { return name; }
        }
    }

    在aspx页面中放一个DropDownList控件,id值为 ddl_user
    页面的PageLoad事件处理方法中写如下代码:
        protected void Page_Load(object sender, EventArgs e)
        {
            User[] user = new User[3];
            user[0] = new User("aa");
            user[1] = new User("bb");
            user[2] = new User("cc");

            ddl_user.DataSource = user;
            ddl_user.DataTextField = "Name";
            ddl_user.DataBind();
           
        }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chen_dian_dian
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-16 20:58:5812楼 得分:10
    ListItem中只能保存两个字符串的值和一个bool值,除非你的User类保存的信息和这个类似,或者比这个少
    否则就是没办法了
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved