现在还有一个问题是 值是读取出来了··可是为什么每次读取的时候 都是 同一个答案呢··
答案的内容 ID=1时: 选了A 然后 ID=2时 选了B
检查的时候就会变成 ID1=B ; ID2=B
正确的应该是:ID1=A; ID2=B (要的这个效果没有实现,向求教···)[C# code]
HttpCookieCollection cookies;
cookies = Request.Cookies;
string[] num = new string[5];
//for (int i = 1; i < num; i++)
for (int i = 1; i <= num.Length; i++)
{
HttpCookie abc = new HttpCookie("num"+i.ToString ());
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0); //过期时间为1分钟
abc.Expires = dt.Add(ts);
if (RadioButton1.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "A"); }
if (RadioButton2.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "B"); }
if (RadioButton3.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "C"); }
if (RadioButton4.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "D"); }
if (RadioButton5.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "E"); }
Response.Cookies.Add(abc); HttpCookie ba = Request.Cookies["num" + i.ToString()];
}<br/>
for (int a = 1; a <= Convert.ToInt32(Label2.Text); a++)
{
Response.Write(Request.Cookies["num"+a.ToString()]
}
[/code]
答案的内容 ID=1时: 选了A 然后 ID=2时 选了B
检查的时候就会变成 ID1=B ; ID2=B
正确的应该是:ID1=A; ID2=B (要的这个效果没有实现,向求教···)[C# code]
HttpCookieCollection cookies;
cookies = Request.Cookies;
string[] num = new string[5];
//for (int i = 1; i < num; i++)
for (int i = 1; i <= num.Length; i++)
{
HttpCookie abc = new HttpCookie("num"+i.ToString ());
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0); //过期时间为1分钟
abc.Expires = dt.Add(ts);
if (RadioButton1.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "A"); }
if (RadioButton2.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "B"); }
if (RadioButton3.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "C"); }
if (RadioButton4.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "D"); }
if (RadioButton5.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "E"); }
Response.Cookies.Add(abc); HttpCookie ba = Request.Cookies["num" + i.ToString()];
}<br/>
for (int a = 1; a <= Convert.ToInt32(Label2.Text); a++)
{
Response.Write(Request.Cookies["num"+a.ToString()]
}
[/code]
{}假定你在页面中选择的是1 ,那么for循环永远执行的都是
abc.Values.Add("num" + i.ToString(), "A"); 先把不的逻辑理清。
怎么放???? 验证: Response.Write(Request.Cookies["num"+a.ToString()] 的时候发现
{0}num1
{1}num2
{2}num3
.........
lovely_baby 再给我点 思路······
ID1=e; ID2=e了.
num.Length是获取最大的数组总数····
也许 现在的思路 有点乱了 ···大致是要做出 这样的效果···
radiobutton都是连接数据库的···刷新一下会改变题目。
选择了以后 数据会记录到COOKIE里···
你是用什么绑定数据的.
写成 类似于 string num = new string[5]
if (RadioButton1---5.Checked == true)
num[0]=a----e
if (RadioButton1---5.Checked == true)
num[1]=a----e这样 就可以了··这样成立就能调用 比如说 label1.text=num[0].tostring的值一样····
然后获取selectvalue 就行了
回答一个问题 就保存一次. 不要一次性保存,至于你的num, 你可以用ViewState["num"] 来自增
不然你这种方式, 最后一次操作会改变前面的保存的数据
{
if (!IsPostBack)
{
if (ViewState["num"] == null)
{
ViewState["num"] = 1;
}
BindData((int)ViewState["num"]);
}
}
private void BindData(int num)
{
//你根据num 获取数据
} protected void Button1_Click(object sender, EventArgs e)
{
int i = (int)ViewState["num"];
HttpCookie abc = new HttpCookie("num" + i.ToString());
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0); //过期时间为1分钟
abc.Expires = dt.Add(ts);
if (RadioButton1.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "A"); }
if (RadioButton2.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "B"); }
if (RadioButton3.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "C"); }
if (RadioButton4.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "D"); }
if (RadioButton5.Checked == true)
{ abc.Values.Add("num" + i.ToString(), "E"); }
// 回答完, 跳转下一条问题
ViewState["num"] = i + 1;
BindData(i + 1);
}
唉, 我的理解是这样的. 你看看
还需要绑定数据库??
这个做出来以后是不是radiobutton里面内容变了?
我给 NUM=1 什么反映都没有·· · NUM的值不需要给,有几题点几下button
还需要绑定数据库?? private void BindData(int num)
{
//你根据num 获取数据
}
看你Radiobutton要显示什么 如果显示的东西在数据库就绑定数据
这个做出来以后是不是radiobutton里面内容变了?
根据 BindData 每题显示的内容不一样
eg。
private void BindData()
{
如果num=1;
显示第一道题,
如果num=2
显示第二道题目
如此而已。
}
答案选择了以后我们能够显示在gridview中.因为只有1--5个radiobutton
gridview 显示 每一道题 选择了以后的 答案
反正都要刷新了. 我建议你直接做完一条就存一条数据. 就不用这样一条一条存在cookie了.
还有, 我觉得 你这种做法很不符合逻辑.
我觉得 你设计功能有点问题 , 你点哪一年, 对应的那一天的题目就一个清单,对着 题目顺着坐下来, 然后整体保存数据.
因为考虑到 如果 制作的过程中 要修改数据 就没有做一条保存一条了···
引用:我觉得 你这种做法很不符合逻辑.
当初设计的时候 思路 跟着 VB走了···所以 东西出来有点怪···引用: 你设计功能有点问题 , 你点哪一年, 对应的那一天的题目就一个清单,对着 题目顺着坐下来, 然后整体保存数据.
这个 考虑 不知道 题目 一共有多少个 所以 如果我设置了20个题目,但是出题目的时候 出了21个··那不是又出错了么··
#30那里 有个图 ID 答案 题目做完以后 会有ABCD 显示在答案上面···目前 有方法就是通过控件复制值进去,但是题目越多 控件越多 不能最终解决该问题
2.如果设置20条. 你提取的时候 定死 select TOP 20 字段 from 表,不懂你为什么会出错.
3.你说控件太多, 我不懂你的意思.
ps . 这不是vb的原因, 任何事情, 这种设计方式, 不要怪语言...要从自身考虑原因.
这种方式不方便实现, 就考虑另外一种.