只会睡觉的我 2021-09-28 08:47 采纳率: 50%
浏览 36
已结题

DropDownList不使用数据库字段已经绑定好了实现两级联动

img

img

这样会出现问题,怎么才能实现我选中一级下拉栏二级就会出现相应的信息

  • 写回答

1条回答 默认 最新

  • Yijing Sun 2021-09-28 15:00
    关注

    你好,
    你的问题原因在于首先你在page_load 事件中绑定了ddlEmiName的数据,但是选择ddlEmiTeam的时候,你清除了ddlEmiName的数据,所以在foreach 匹配的时候,这时候的item 是空. 所以我建议你在ddlEmiTeam 的SelectedIndexChanged事件中做绑定功能. 参照如下:

     <asp:DropDownList ID="ddlEmiTeam" runat="server" OnSelectedIndexChanged="ddlEmiTeam_SelectedIndexChanged"  AutoPostBack="true"></asp:DropDownList>
    <asp:DropDownList ID="ddlEmiName" runat="server" ></asp:DropDownList>
    
    protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    List<teamemis> teamemi = new List<teamemis>()
               {
                   new teamemis(){ Name="aaa"},
                   new teamemis(){ Name="bbb"},
                   new teamemis(){ Name="ccc"}
               };
                    ddlEmiTeam.DataSource = teamemi;
                    ddlEmiTeam.DataTextField = "Name";
                    ddlEmiTeam.DataValueField = "Name";
                    ddlEmiTeam.DataBind();
                }
    
    
            }
    
            protected void ddlEmiTeam_SelectedIndexChanged(object sender, EventArgs e)
            {
                ddlEmiName.Items.Clear();
                string value = ddlEmiTeam.SelectedValue;
                List<Employee> employeesce = new List<Employee>()
                    {
                         new Employee(){ Name="aaa",ChineseName="ax"},
                         new Employee(){ Name="bbb",ChineseName="bx"},
                         new Employee(){ Name="ccc",ChineseName="cx"}
                    };
                foreach (var item in employeesce)
                {
                    if (item.Name == value)
                    {
                        ddlEmiName.Items.Add(item.ChineseName);
                    }
                }
            }
    
     public class Employee
        {
            public string Name { get; set; }
            public string ChineseName { get; set; }
        }
        public class teamemis
        {
            public string Name { get; set; }
        }
    

    如果你的数据与我不同或仍有其他问题,你可以给出你的所有代码包括数据.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月8日
  • 已采纳回答 9月30日
  • 创建了问题 9月28日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装