GridView在打开时从数据库中选出radiobuttonlist的值

该代码段展示了如何在GridView加载时从数据库中读取用户已选择的答案,并在RadioButtonList中选中对应的选项。通过遍历GridView的每一行,使用Session存储的考试代码和编号,调用存储过程SelAnswer查询答案。然后将查询到的答案值与RadioButtonList的值进行比较,设置选中状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//在登陆时查找已做的问题答案并选中
        public void selAnswer()
        {
            for (int j = 0; j < GridView1.Rows.Count; j++)
            {
                string P_str_Anscode = "";
                RadioButtonList rbtn = (RadioButtonList)this.GridView1.Rows[j].FindControl("RadioButtonList1");
                SqlConnection selAnsConn = ksdtConection.getConnection();
                SqlCommand selAnsCmd = new SqlCommand("SelAnswer", selAnsConn);
                selAnsCmd.CommandType = CommandType.StoredProcedure;

                SqlParameter examCode = new SqlParameter("@examCode", SqlDbType.Char, 5);
                examCode.Value = Session["examCode"].ToString();
                selAnsCmd.Parameters.Add(examCode);

                SqlParameter bianh = new SqlParameter("@bianh", SqlDbType.Char, 6);
                bianh.Value = Session["bianh"].ToString();
                selAnsCmd.Parameters.Add(bianh);

                SqlParameter questionCode = new SqlParameter("@questionCode", SqlDbType.Char, 5);

                questionCode.Value = GridView1.DataKeys[j].Value.ToString();
                selAnsCmd.Parameters.Add(questionCode);


                selAnsConn.Open();
                SqlDataReader rd = selAnsCmd.ExecuteReader();
                if ((rd.Read()) && (!rd.IsDBNull(0)))
                {
                    P_str_Anscode = rd.GetString(0);
                    for (int i = 0; i < rbtn.Items.Count; i++)
                    {
                        if (rbtn.Items[i].Value == P_str_Anscode)
                        {
                            rbtn.Items[i].Selected = true;
                        }
                    }
                    rd.Close();
                }

                selAnsCmd.Dispose();
                selAnsConn.Close();
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangjiaotou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值