复选框有问题
本文关键字:有问题 复选框 | 更新日期: 2023-09-27 18:31:44
我有两个网站,上面都有三个复选框。我想做的是在第一个网站上选中一个复选框,它会显示我在另一个网站上检查的内容。这仅适用于一个复选框,但一旦我选中多个复选框,只有一个框在另一个站点上显示为选中。下面是一些代码:
Website1.aspx
(必须检查的地方)
if (CheckBox1.Checked)
{
Response.Redirect("default.aspx?parm1=true");
}
else if (CheckBox2.Checked)
{
Response.Redirect("default.aspx?parm2=true");
}
else if (CheckBox3.Checked)
{
Response.Redirect("default.aspx?parm3=true");
}
Website2.aspx
(它们应显示为选中的位置)
if (Request.QueryString["parm1"] != null)
{
boxreg.Checked = Convert.ToBoolean(Request.QueryString["parm1"]);
}
else if (Request.QueryString["parm2"] != null)
{
boxhand.Checked = Convert.ToBoolean(Request.QueryString["parm2"]);
}
else if (Request.QueryString["parm3"] != null)
{
boxbeslut.Checked = Convert.ToBoolean(Request.QueryString["parm3"]);
}
所以问题是,如果我想检查多个站点并将其显示在另一个站点上,我将如何去做。如果我现在只检查一个,它可以工作,但不能超过一个。
我想,你的代码应该改成这样:
Website1.aspx
Response.Redirect("default.aspx?parm1=" + CheckBox1.Checked.ToString() +
"&parm2=" + CheckBox2.Checked.ToString() +
"&parm3=" + CheckBox3.Checked.ToString());
还有(注意三个ifs
):
Website2.aspx
if (Request.QueryString["parm1"] != null)
{
boxreg.Checked = Convert.ToBoolean(Request.QueryString["parm1"]);
}
if (Request.QueryString["parm2"] != null)
{
boxhand.Checked = Convert.ToBoolean(Request.QueryString["parm2"]);
}
if (Request.QueryString["parm3"] != null)
{
boxbeslut.Checked = Convert.ToBoolean(Request.QueryString["parm3"]);
}
你可以做这样的事情。
第一页
string params = "";
params+= CheckBox1.Checked ? "param1=true":"";
params+= CheckBox2.Checked ? "param2=true":"";
params+= CheckBox3.Checked ? "param3=true":"";
string url = "default.aspx"
url += params != "" ? "?" + params: "";
Response.Redirect(url);
默认.aspx
boxreg.Checked = Request.QueryString["parm1"] != null ? true: false;
boxhand.Checked = Request.QueryString["parm2"] != null ? true: false;
boxbeslut.Checked = Request.QueryString["parm3"] != null ? true: false;