我有9个label,其id分别为label1到label9,然后有一个dropdownlist,其ListItem为1到9。我怎么实现下面的功能?
    dropdownlist选择5,则label1-label5可见,label6到label9不可见.
    小弟初学Asp.Net+C#,请大家见凉

解决方案 »

  1.   

    设置dropdownlist的autopostback为true
    在他的change事件中写:
    if dropdownlist.select=true
    {
    label1到label5.visible=true;
    label6到label9.visible=false;
    }
      

  2.   

    设置dropdownlist的autopostback为true
    在他的selectedindexchanged事件中写:
    根据ddl1.selecteditem.value判断
      

  3.   

    我知道这样能实现,但代码很长,所以我想使用for循环。但是不知道怎么写for循环里面的代码
    for (int i=1;i<Convert.toint32(dropdownlist.selectedvalue);i++)
    {
        ???这里面代码怎么写?
    }
      

  4.   

    用js来吧
    for(i=6;i<9;i++)
    document.all(label+i).style.display="none";
    ....
      

  5.   

    除了JS还有什么方法嘛?我还是想用for循环的方法,请大哥们帮忙
      

  6.   

    先得到dropdownlist的index值比如idx=5,然后
    for n=0 to idx-1(你得到的这个值-1,因为是下标)
    ......用FindControl方法找到控件的名称
    形如:       
         Dim label As VTLabel = Me.FindControl("label" + n.ToString)
         label.visible=true
    Next
      

  7.   

    放个PlaceHolder控件将Lable包含进去for(int i=6;i<=9;i++)
    {
       Lable lb;
       lb=(Lable)PlaceHolder1.FindControl("Label"+i);
       lb.visible=false;
    }
      

  8.   

    不记得是PlaceHolder1.FindControl(id)
    还是PlaceHolder1.Controls.FindControl(id)了
    自己试一下