62,272
社区成员
发帖
与我相关
我的任务
分享
public partial class MyWebExamTeacher_MyWebExamTestPage : System.Web.UI.Page
{
UserClass1 User = new UserClass1();
DataBaseClass dbc = new DataBaseClass();
public int tNum;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//CreateTest();
LabTestSubject.Text = Session["subject"].ToString();
//接收科目和试卷的名称,试卷编号
string subjectName = Session["subject"].ToString();
string testName = Session["test"].ToString();
int TestID = Convert.ToInt32(Session["TestID"].ToString());
//接收题目数量和每小分数,
int singleNum = Convert.ToInt32(Session["singleNUM"].ToString());
int singleSCORE = Convert.ToInt32(Session["singleSCORE"].ToString());
//设置题目编号
int i = 1;
//按条件随即取出考试科目的题目(单选题)
string strsql = "select top " + singleNum + " * from Single where ObjectName='" + subjectName + "'order by newid() ";
//SqlConnection conn=dbc .LinkData ();
//conn .Open ();
//SqlCommand cmd=new SqlCommand (strsql ,conn);
//SqlDataReader sdr=cmd .ExecuteReader ();
SqlDataReader sdr = null;
//调用字定义 ReaderData 方法读取试题
sdr = User.ReaderData(strsql);
//自定义 Label 控件,并设置其属性
Label labType = new Label();
labType.Font.Size = 10;
labType.Font.Bold = true;
labType.ForeColor = System.Drawing.Color.Black;
labType.Text = "一、单项选择题" + "(共" + Session["singleNUM"].ToString() + "题" + " 每题" + Session["singleSCORE"].ToString() + "分)" + "</dr><blockquote>";
Panel1.Controls.Add(labType);
TextBox txtID = new TextBox();
while (sdr.Read())
{
//实例化 Literal Label RadioButtonList 控件
Literal litTXT = new Literal();
Literal litTI = new Literal();
RadioButtonList RBL = new RadioButtonList();
RBL.ID = "RBK" + i.ToString();
//<blockquote> 与 </blockquote> 之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进(增加外边距),而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。
// 在 litTXT 上显示题目内容 并自动编号;
litTXT.Text = i.ToString() + "、" + Server.HtmlEncode(sdr["Question"].ToString().Trim()) + "</dr><blockquote>";
//保存题目的编号
litTI.Text = "</blockquote>";
//显示题目答案!
RBL.Items.Add("A." + Server.HtmlEncode(sdr["Result1"].ToString()));
RBL.Items.Add("B." + Server.HtmlEncode(sdr["Result2"].ToString()));
RBL.Items.Add("C." + Server.HtmlEncode(sdr["Result3"].ToString()));
RBL.Items.Add("D." + Server.HtmlEncode(sdr["Result4"].ToString()));
//Session["HidID"].ToString = txtID.Text;
//设置答案的字体大小
RBL.Font.Size = 11;
//设置答案的数目
for (int j = 1; j <= 4; j++)
{
RBL.Items[j - 1].Value = j.ToString();
}
for (int m = 0; m <= singleNum-1; m++)
{
txtID.Text = Server.HtmlEncode(sdr["SingleID"].ToString());
}
Session["HidID"] = txtID.Text;
//在 Panel1 容器中显示
Panel1.Controls.Add(litTXT);
Panel1.Controls.Add(RBL);
Panel1.Controls.Add(litTI);
//循环题目编号
i++;
tNum++;
}
sdr.Close();
}
}
protected void ImgButOK_Click(object sender, ImageClickEventArgs e)
{
string Subject = Session["subject"].ToString();
//int TestID = Convert.ToInt32();
int singleNum = Convert.ToInt32(Session["singleNUM"].ToString());
// foreach (Panel1 pa in Panel1.Controls.Add)
//{
for (int i=0;i=singleNum -1;i++)
{
string strSql = "insert into PageTest(Subject,TestID,TestName,Type,TitleID,Score)values('"+ Subject + "','" + Convert.ToInt32(Session["TestID"].ToString()) + "','" + Session["test"].ToString() + "','单项选择题','" + Convert.ToInt32(Session["HidID"].ToString()) + "','" + Convert.ToInt32(Session["singleSCORE"].ToString()) + "')";
User.Insert(strSql);
}
}