是这样的,我想做一个调查的东西,比如运动项目您喜欢哪些,用户可以选择一个或多个,html代码:<input type="checkbox" id="chk001" runat="server" value="1" />篮球
<input type="checkbox" id="chk002" runat="server" value="2" />足球
<input type="checkbox" id="chk003" runat="server" value="4" />排球
<input type="checkbox" id="chk004" runat="server" value="8" />台球
................可能有好几十个呢,每个项目对应一个Value,我不想用字符串1,2,3这样的存储用户选择的ID,我想用一种int型方式存储:比如3就代表用户选择了“1”和“2”的,而7就代表用户选择了“1”,“2”,“4”....类似于这种方式存储,现在问题来了,我不知道怎么判断一个数,比如“7”不是2的完全平方,那么怎么把“7”拆分成“1”,“2”,“4”三个项目,如果是完全平方数,如“8”,那么只代表用户选择了一个项目?
小弟没找到好的方法,求大哥们指点指点.

解决方案 »

  1.   

     试试用CheckBoxList 循环第i位,这样去做判断if (cbHabby.Items.Count == 0)
            {
                user_habby = "";
                return;
            }
            else
            {
                for (int i = 0; i < cbHabby.Items.Count; i++)
                {
                    if (cbHabby.Items[i].Selected)
                    {
                        user_habby += cbHabby.Items[i].Text + "-";
                    }
                }        }
    上面是后台
    下面是前台
     <asp:CheckBoxList id="cbHabby" 
                               CellPadding="5"
                               CellSpacing="5"
                               RepeatColumns="6"
                               RepeatDirection="Vertical"
                               RepeatLayout="Flow"
                               TextAlign="Right"
                               runat="server">
                             <asp:ListItem Value="userhabby">篮球</asp:ListItem>
                             <asp:ListItem Value="userhabby">看电影</asp:ListItem>
                             <asp:ListItem Value="userhabby">踢足球</asp:ListItem>
                             <asp:ListItem Value="userhabby">游戏</asp:ListItem>
                             <asp:ListItem Value="userhabby">其他(太多了)</asp:ListItem>
                          </asp:CheckBoxList>
      

  2.   

    大哥,可能我的思想还没有转换过来,是这样的,比如有个运动项目表,有3个字段ID,SportName,SportValue,
    用户表,Name,SportValue,用户表的SportValue是Int字段,要存储用户选择的项目,如果SportValue是7,那么就代表了运动项目表的3条记录。
    我的设计思路就是这样的。
      

  3.   

    太不效率了,原来简单的东西,被你复杂来做,完全无语<input type="checkbox" name="cbk_xq" id="chk001" runat="server" value="1" />篮球
    <input type="checkbox" name="cbk_xq" id="chk002" runat="server" value="2" />足球
    <input type="checkbox" name="cbk_xq" id="chk003" runat="server" value="3" />排球
    <input type="checkbox" name="cbk_xq" id="chk004" runat="server" value="4" />台球
    ....Request.From["cbk_xq"]
    如果选择篮球和台球,Request.From["cbk_xq"]=》1,4