【发布时间】:2017-09-28 14:55:23
【问题描述】:
我正在尝试制作一个餐厅表单,当用户点餐时将数据存储到数据库中。如果用户再次访问并输入他的名字和姓氏,其他数据,如食物和取货选项,应自动归档。对于食物,我有一个复选框。
这里是插入代码:
string strCheckValue = "";
if (CheckBox1.Checked)
{
strCheckValue = strCheckValue + "," + CheckBox1.Text;
}
if (CheckBox2.Checked)
{
strCheckValue = strCheckValue + "," + CheckBox2.Text;
}
if (CheckBox3.Checked)
{
strCheckValue = strCheckValue + "," + CheckBox3.Text;
}
if (CheckBox4.Checked)
{
strCheckValue = strCheckValue + "," + CheckBox4.Text;
}
if (CheckBox5.Checked)
{
strCheckValue = strCheckValue + "," + CheckBox5.Text;
}
if (CheckBox6.Checked)
{
strCheckValue = strCheckValue + "," + CheckBox6.Text;
}
if (CheckBox7.Checked)
{
strCheckValue = strCheckValue + "," + CheckBox7.Text;
}
strCheckValue 存储在数据库中并给出如下结果: ,Samosa,Biryani,Naan
现在我想选择用户之前在点击记住我按钮时订购食物时选择的所有食物。
为此,我的代码是:
//checkbox value display
CheckBox1.Checked = false;
CheckBox2.Checked = false;
CheckBox3.Checked = false;
CheckBox4.Checked = false;
CheckBox5.Checked = false;
CheckBox6.Checked = false;
CheckBox7.Checked = false;
string aa = dr["ctm_food"].ToString();
string[] a = aa.Split(',');
Label10.Text = a[2].ToString();
foreach (Control cc in this.Controls)
{
if(cc is CheckBox)
{
CheckBox b = (CheckBox)cc;
for(int j=1; j<a.Length; j++)
{
if (a[j].ToString() == b.Text)
{
b.Checked = true;
}
}
}
}
在 label10 中,我可以看到用户订购的食物。但是该复选框没有被选中。完成此练习的正确方法是什么?
【问题讨论】:
-
您使用的是哪个 ASP.NET?
-
什么时候执行哪个代码?什么时候想记住用户的选择?您在使用此代码时遇到什么问题?
-
它是 4.0 @JohnKennedy
-
当用户点击订单按钮时使用插入代码。那是记住用户选择的代码。但是当用户按下记住我按钮时,我可以检索所有数据但无法根据数据选中复选框。 @ChetanRanpariya
-
也许您需要
b.Text.ToString()进行文本比较而不是参考比较?此外,创建一个复选框数组并遍历它。这将使代码更有趣。