当前位置: 代码迷 >> ASP.NET >> ,很急CHEKBOX控件选择有关问题
  详细解决方案

,很急CHEKBOX控件选择有关问题

热度:2473   发布时间:2013-02-25 00:00:00.0
求救,很急,CHEKBOX控件选择问题
前台定义了14个checkbox控件,现在用户要选择6个控件来进行投票(只能选6个,不能多不能少),选上后点击投票按钮,被选中的人数据库票数就加1。

我自己写了段代码,运行后虽然没有报错,可是却得不到我想要的结果。

拜托各位高手,帮忙看下,或者写段代码分享下。再次感谢!

我的代码:
C# code
 protected void Button1_Click(object sender, EventArgs e)    {        //投票防作弊        if (Session["UserID"] == null )        {            Response.Write("<script language=javascript>alert('您还未登录');</script>");             Response.Redirect("<script>window.location.href='Default.aspx';</script>");        }        else        {            if (Convert.ToBoolean(Session["Role"]))//已经投过票            {                Response.Write("<script language=javascript>alert('你已经成功投过票,不能重新投票!');</script>");                return;            }            else//还没投过票,执行投票操作,票数加1            {                int num1 = 0;                 foreach (Control c in this.Controls)                {                    if (c is CheckBox && ((CheckBox)c).Checked)                    {                        num1++;                    }                }                if (num1 > 0)                {                    if (num1 < 6)                    {                        Response.Write(CC.MessageBox(string.Format("共有{0}人被选中,请继续选足6人", num1.ToString())));                    }                    else if (num1 == 6)                    {                                                    int i = 1; string[] strarr = new string[5]; int j = 0;                                                             foreach (Control a in this.Controls)                                {                                    if (a is CheckBox && ((CheckBox)a).Checked&&(i < 15))                                    {                                        string P_Str_voteItemID = ((CheckBox)a).ID;                                        string P_Str_cmdtxt = "update tb_VoteItem set voteTotal=voteTotal+1 where voteItemID=" + P_Str_voteItemID;                                        strarr[j] = Convert.ToString(i);                                                                                CC.ExSql(P_Str_cmdtxt);                                        i++;                                        j++;                                    }                                    else                                    {                                        i = i + 1;                                    }                                }                        string ttt = string.Join(",", strarr );                                                                           string P_Str_cmdtxt1 = "update tb_User set Role=1 where UserID=" + M_Str_voteID;                        string P_Str_cmdtxt2 = "update tb_User set Choose= '" + ttt + "' where UserID=" + M_Str_voteID;                        string P_Str_cmdtxt3 = "update tb_User set VoteDate='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where UserID=" + M_Str_voteID;                        CC.ExSql(P_Str_cmdtxt1);                        CC.ExSql(P_Str_cmdtxt2);                        CC.ExSql(P_Str_cmdtxt3);                        Response.Write("<script>alert('投票成功,感谢您的支持!');</script>");                    }                    else                    {                         Response.Write(CC.MessageBox("您选择的选手已经超过6名"));                    }                }                else                {                     Response.Write(CC.MessageBox("请选择参赛选手"));                }            }        }    }




------解决方案--------------------------------------------------------
达不到你要的效果,指的是哪一部分逻辑出错呢?设置断点先确定哪一部分的问题。在我看来,这一句有点问题:
  相关解决方案