当前位置:编程学习 > C#/ASP.NET >>

急!!!实现网上选择题的功能,datalist中含有一组radiobutton!!!在线等!!!!!!

各位大侠,帮帮手,有没有这方面的代码???
实现网上选择题的功能,现在在datalist中含有一组radiobutton:A、B、C、D;如何才能获取选中哪一个radiobutton,并且存入数据库??? --------------------编程问答-------------------- UP --------------------编程问答-------------------- 有哪位好心人有吗???急用啊!!! --------------------编程问答-------------------- RadioButtonList2.SelectedValue --------------------编程问答-------------------- 我用的是radiobutton啊!!!那应该怎么做呢??? --------------------编程问答-------------------- 把radiobutton 的属性groupname写成同一个名称 --------------------编程问答-------------------- 这个我知道啊,这些功能已经实现了.我现在要做的就是当你点击提交按钮的时候,获取选中哪一个radiobutton,并且存入数据库.现datalist中含有一组radiobutton,存储过程应该怎么写呢??
--------------------编程问答-------------------- 用tabindex判断,不知道说的对不对 --------------------编程问答-------------------- 繁了,直接判断哪个选中,就把哪个加到数据库中 --------------------编程问答-------------------- 建议你用RadioButtonList 这个很方便  
如果用RadioButton  得一个个判断  然后取值 --------------------编程问答-------------------- 用RadioButtonList的话,后台实现问题又大啦!要用两个表分别来存储题目和答案两项!!!
直接判断哪个选中,就把哪个加到数据库中???代码如何写呢???
--------------------编程问答-------------------- 晕倒,我也不会,好着急 --------------------编程问答-------------------- A B C D 你还是用IF 挨个判断吧,又不是很多,把SelectedValue分别设为A,B,C,D 这样保存就可以直接把SelectedValue的值保存到数据库,比较方便,然后对datalist的每一行做个循环,也就是循环每到题的答案 我的一个小例子,也就是提供一种方法,代码你用不了 我的是一个Repeater 中每行加上一个多选按钮,然后循环所有行,看是否被勾选,如果勾选,就保存这个行的数据,
 For i = 0 To Me.reptDdtcInfo.Items.Count - 1

                cBox = CType(Me.reptDdtcInfo.Items(i).FindControl("CkbDdtc"), CheckBox)


                If cBox.Checked = True Then
strSql.AppendLine("INSERT INTO  MST_SF_LIST(")//未写完
SQL文中你需要保存的变量值=你这个radiobutton.SelectedValue
Next

--------------------编程问答-------------------- learning --------------------编程问答-------------------- --------------------编程问答-------------------- 刚刚做了个知识答题系统。给你分享下思路。

我数据库有一个 题目表,里面有 题目标题、(A、B、C、D)四个选项,还有一个正确答案字段

Answer.aspx 相关代码:

<asp:Repeater ID="rptList1" runat="server">
    <ItemTemplate>
        <tr class="list_header">
            <td width="150">
                第<%# Container.ItemIndex+1 %>题
            </td>
            <td align="left">
                 
                <%# Eval("title") %>
            </td>
        </tr>
        <tr class="list_item">
            <td align="left">
                 
            </td>
            <td align="left">
                <asp:RadioButton ID="rad1" runat="server" Text='<%# Eval("a") %>' GroupName='<%# Eval("qid") %>'
                    ToolTip="1" /><br />
                <asp:RadioButton ID="rad2" runat="server" Text='<%# Eval("b") %>' GroupName='<%# Eval("qid") %>'
                    ToolTip="2" /><br />
                <asp:RadioButton ID="rad3" runat="server" Text='<%# Eval("c") %>' GroupName='<%# Eval("qid") %>'
                    ToolTip="3" /><br />
                <asp:RadioButton ID="rad4" runat="server" Text='<%# Eval("d") %>' GroupName='<%# Eval("qid") %>'
                    ToolTip="4" />
            </td>
        </tr>
    </ItemTemplate>
</asp:Repeater>


Answer.aspx.cs 相关代码:

protected void btn_Click(object sender, EventArgs e)
{
int trueCount = 0;

Repeater rpt1 = (Repeater)Page.Master.FindControl("ContentPlaceHolder1").FindControl("rptList1");
if (rpt1 != null)
{
for (int i = 0; i < rpt1.Items.Count; i++)
{
foreach (Control c in rpt1.Items[i].Controls)
{
if (c is RadioButton)
{
RadioButton rad = (RadioButton)c;
if (rad.Checked)
{
//检查数据库,选项是否正确
if (Question.Valiate(Convert.ToInt32(rad.GroupName), Convert.ToInt32(rad.ToolTip))>0)
{
trueCount++;
}
}
}
}
}
}

double score= trueCount*2.5; //每题 2.5分

Response.Write("<script>alert('答题时间结束,本次答题答对 " + trueCount + " 道,答错 " + (40 - trueCount) + " 道,得分 " + score + " 分');location.href='Center.aspx';</script>");
}



相关的数据绑定、成绩写入我就不写了。我这里应该还有20道判断题,所有我有40题,你看个大概就行。 --------------------编程问答-------------------- <%# Eval("a") %> 是A选项文本,以此类推 b、c、d

<%# Eval("qid") 是 该题目的唯一ID

效果图:



--------------------编程问答-------------------- 性能优化方面,自行解决
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,