复选框有问题

本文关键字:有问题 复选框 | 更新日期: 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;