作业相关
学习教程
总 结
链 接
表扬栏
   返回主页   后退          

asp.net抽题思路:
1. 在网页中添加"DataList"控件
2. 单击"DATALIST"控件的"编辑模板"
3.添加"label"用来显示题干
4.添加四个单选按钮,并将其"GroupName"都设为"da",目的是将四个单选钮设置为一组,实现互斥单选
5.每个单选按钮右边分别输入A B C D用以突出显示该项的选项(只是显示)
6.字母ABCD右边分别一个LABEL用来显示相应的选项
7.增加一个隐藏控件,用来保存相应题目的答案hdDaan
代码:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)  //当第一次呈现时执行,用来绑定数据
{
bindToData();
}
}
private void bindToData()
{
string sqla = "select top 2 * from tiku order by newid()"; //从数据库随机抽取两个题
DataSet ds = new DataSet();  //声明一个数据集DS
ds = sqlhelper.query(sqla);   //利用类读取数据
DataTable dt = ds.Tables[0];  //选定数据表
DataList1.DataSource = dt;  //设置datalist数据源
DataList1.DataBind();   //数据绑定
}
//上面的代码就是随机抽题并显示
下面的代码是判断:
int fenshu = 0;    //统计正确题目的数量
for (int xx = 0; xx < DataList1.Items.Count; xx++)  //遍历datalist每一行
{
DataListItem dli= DataList1.Items[xx];    //datalist每一行
HiddenField hddan = dli.FindControl("hdDaan") as HiddenField;  //每一行找到控件"hdDaan"并强制转化为HiddenField
RadioButton daa = dli.FindControl("daa") as RadioButton;   //每一行找到控件”daa"并强制转化为RadioButton
RadioButton dab = dli.FindControl("dab") as RadioButton;   //每一行找到控件”dab"并强制转化为RadioButton
RadioButton dab = dli.FindControl("dac") as RadioButton;  //每一行找到控件”dac"并强制转化为RadioButton
RadioButton dab = dli.FindControl("dad") as RadioButton;  //每一行找到控件”dad"并强制转化为RadioButton
if (daa.Checked && hddan.Value == "A")   //每个单选选项都得判断,因为这是一个组的radioButton,不是radioButtonList
fenshu++;
if (dab.Checked && hddan.Value == "B")
fenshu++;
if (dac.Checked && hddan.Value == "C")
fenshu++;
if (dad.Checked && hddan.Value == "D")
fenshu++;
}
string aak = string.Format("你答对了{0}个题", fenshu);
Response.Write("<script>alert('" + aak + "')</script>");
}
更新思路:
1.每个学生登录后分别建立一个对就在的临时表,用来保存学生信息 、抽到的所有题目、学生确定的每题答案、该题的准确答案
2.学生每点一个答案,自动触发保存
3.只要汇总:select count(*) where 学生答案=准确答案,就可以得到学生做对的题目总数


Region1

2025促销:香港特价空间,最低仅需20元,可永久使用!
本站空间由 三维免费空间 友情提供