一个CheckBoxList1,一个Label。让Label显示所选的CheckBoxList1。注:CheckBoxList1是多选的。
我的代码:.aspx
 <asp:CheckBoxList ID="CheckBoxList1" runat="server">
            <asp:ListItem>aaa</asp:ListItem>
            <asp:ListItem>bbb</asp:ListItem>
            <asp:ListItem>ccc</asp:ListItem>
 </asp:CheckBoxList><br />.cs
protected void Button1_Click1(object sender, EventArgs e)
    {
        for (int i = 0; i < CheckBoxList1.Items.Count; i++)
        {
            if (CheckBoxList1.Items[i].Selected)
            {
                string Temp;
                Temp= CheckBoxList1.Items[i].Text.ToString();
              // 这里代码该怎么写啊?
                Label1.Text = ....
            }        }
    }
或者有更好方法。

解决方案 »

  1.   

    protected void Button1_Click1(object sender, EventArgs e)
        {
    string Temp = "";
            for (int i = 0; i < CheckBoxList1.Items.Count; i++)
            {
                if (CheckBoxList1.Items[i].Selected)
                {
                    
                    Temp += CheckBoxList1.Items[i].Text.ToString();
                  
                }        }
    // 这里代码该怎么写啊?
                    Label1.Text = Temp;
        }
      

  2.   

    你这么写不对么?  有什么错误?    AutoPostBack="True"  写了么?
      

  3.   

    你上面的不满足么?
    可以用foreach来代替循环
    foreach(ListItem li in checkboxlist.Items)
      

  4.   

    你这么写不对么?  有什么错误?    AutoPostBack="True"  写了么?
    ----------------
    他是button触发的,和autopostback无关.
      

  5.   

    问题解决了~~谢谢楼上各位尤其是:wang520d(该出手时就出手)
    我再问一点原因:
    protected void Button1_Click1(object sender, EventArgs e)
        {
            for (int i = 0; i < CheckBoxList1.Items.Count; i++)
            {
                if (CheckBoxList1.Items[i].Selected)
                {
                    string Temp;
                    Temp+= CheckBoxList1.Items[i].Text.ToString();
                    Label1.Text = Temp;
                }        }
        }
    本来我是这么写的,老提示错误,我问一下我错在哪里了?把Temp定义在
    protected void Button1_Click1(object sender, EventArgs e)里面,和定义在
    for里面的区别;还有为什么必须开始时就给Temp赋空值?
      

  6.   

    你上面那么赋值只是得到了一次循环的结果;如果不赋值+就没有意义了。。;定义到for外面是好让lable1.text = temp用这个temp
      

  7.   

    temp放在里面是什么意思。肯定出错了
      

  8.   

    string temp和string temp=""的区别就在于,前者是定义一个临时变量。但在内存里尚未分配一个存放数据的空间,后者初始化一个变量并在内存中分配了内存空间