【发布时间】:2014-01-18 00:19:35
【问题描述】:
我正在做一个测验项目。我正在使用 4 个带有 CSS 样式的 asp 按钮,并且我使用这 4 个按钮作为答案,在按钮的文本字段中有正确或错误的答案。我已经阅读并找到了另一篇与此非常相似的帖子,但答案是使用字典列表。我有点确定我不需要使用列表,我应该能够随机分配 text 属性。这是我用来将答案添加到按钮文本属性的代码,但我需要随机化答案的位置,因为始终在同一个按钮中获得正确答案是不正确的。
lblQuestion.Text = ds.Tables[0].Rows[myNum]["Question"].ToString();
btn1.Text = ds.Tables[0].Rows[myNum]["CorrectAnswer"].ToString();
btn2.Text = ds.Tables[0].Rows[myNum]["WrongAnswer1"].ToString();
btn3.Text = ds.Tables[0].Rows[myNum]["WrongAnswer2"].ToString();
btn4.Text = ds.Tables[0].Rows[myNum]["WrongAnswer3"].ToString();
每个按钮都有一个 onlick 方法来切换到下一个问题,并将按钮文本更改为下一个答案。此代码在每个 buttonclick 事件中...
protected void btn1_Click(object sender, EventArgs e)
{
lblQuestion.Text = ds.Tables[0].Rows[myNum]["Question"].ToString();
btn1.Text = ds.Tables[0].Rows[myNum]["CorrectAnswer"].ToString();
btn2.Text = ds.Tables[0].Rows[myNum]["WrongAnswer1"].ToString();
btn3.Text = ds.Tables[0].Rows[myNum]["WrongAnswer2"].ToString();
btn4.Text = ds.Tables[0].Rows[myNum]["WrongAnswer3"].ToString();
myNum = myNum + 1;
}
我不确定,但也许我需要能够使用一种方法来随机化所有按钮文本而不是编码到每个 buttonclick 事件中?
谢谢
【问题讨论】:
-
在这里您需要为所有 4 个按钮编写相同的代码...然后只有这样您才能做到这一点...但不要使用按钮,而是使用 4 个单选按钮和一个提交按钮..我认为这对你来说很容易......
-
The reason why I chose a button is because its text is already centered and when the answer is selected it automatically moves onto the next question and set of answers, So I couldn't use a submit button.我可以用 4 个单选按钮做同样的事情,但是在两者之间,无论我是设置单选按钮还是按钮的文本,两者之间应该没有太大区别。要么会做我需要的,但它能够随机分配正确答案和错误答案给文本属性的问题。除非我在您的评论中遗漏了什么??
-
是的,您也可以通过无线电检查和按钮来完成,但至少在这里您应该有机会错误地进行测验,如果他/她按错了按钮,那么会发生什么? ?你有没有想过???正因为如此,我告诉使用带有单个按钮的单选按钮。那将是个好主意....至少再给一次测验的机会来思考他/她的答案..
-
是的,我已经考虑过了,无论他们选择正确答案还是错误答案,测验都会一直移动到最后一个问题,然后它会显示结果。
-
这就是我的意思,伙计....这对理想的测验不利....至少他们应该得到至少一个改变来考虑他们的答案...