从数据库里随机抽取试题。并用datalist显示。
用了 SELECT TOP 10 * FROM test ORDER BY NEWID()并判断id是否重复在加载数据时把相应的答案保存到数组中!可是调试时好像不操作此过程请高手帮忙,谢谢!!~代码如下:
private int[] myarr;
int i;
private bool norep = true;
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
try
{
//获取ID
int myid = int.Parse(((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[0].ToString());
//判断ID是否重复,重复就返回false
for (int m = 0; m < myarr.Length - 1; m++)
{
if (myid == myarr[m])
norep = false;
}
//将ID添加到数组中
myarr[i] = myid;
i++;
Session["myarr"] = myarr;
//保存系统的答案
ArrayList mysrc = new ArrayList();
//在加载数据时就将答案保存在数组中
mysrc.Add(((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[6].ToString());
Session["mysrc"] = mysrc;
} catch { }
}
用了 SELECT TOP 10 * FROM test ORDER BY NEWID()并判断id是否重复在加载数据时把相应的答案保存到数组中!可是调试时好像不操作此过程请高手帮忙,谢谢!!~代码如下:
private int[] myarr;
int i;
private bool norep = true;
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
try
{
//获取ID
int myid = int.Parse(((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[0].ToString());
//判断ID是否重复,重复就返回false
for (int m = 0; m < myarr.Length - 1; m++)
{
if (myid == myarr[m])
norep = false;
}
//将ID添加到数组中
myarr[i] = myid;
i++;
Session["myarr"] = myarr;
//保存系统的答案
ArrayList mysrc = new ArrayList();
//在加载数据时就将答案保存在数组中
mysrc.Add(((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[6].ToString());
Session["mysrc"] = mysrc;
} catch { }
}
请高手帮忙阿!!~~~
具体问题可能出在这
mysrc.Add(((System.Data.DataRowView)(e.Item.DataItem)).Row.ItemArray[6].ToString());
因为后面取Session["mysrc"] 的值时是空的。