C#保存方法组问题

如菜鸟 2010-10-29 11:55:31
怎么才能把他保存到数据表里去,用否也不行,用foreach就不知道怎么写了,请高手帮忙看哈,我QQ;569118032



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);
}




}


...全文
127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
whb147 2010-10-30
  • 打赏
  • 举报
回复
我一般都是通过ID编码来实现
比如
ID="chk_10_12"
chk表示多选
10表示题目
12表示10下的答案选项
用Request.Form即可获取key,value
后面就不用我说了吧
demoooo 2010-10-30
  • 打赏
  • 举报
回复
用这么多session, 不担心性能?

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧