我在不同的页面上有两个复选框。我正在使用如下所示的会话从第一个复选框发送值:
protected void Button4_Click(object sender, EventArgs e)
{
Session["VSSsnap"] = CheckBox1.Checked;
Response.Redirect("~/Addnewpolicy4.aspx");
}
我会在下一页收到此会话:
string vss = Session["VSSsnap"].ToString();
但是,我想将此值放在第二页的复选框中。
我试过这个,但是我收到了一个错误:
CheckBox1.Checked = Session["VSSsnap"].ToString();
我也试过这个;当我调试时,值也存在(但不显示复选框):
CheckBox1.Checked.Equals(Session["VSSsnap"]);
非常感谢任何帮助。
答案 0 :(得分:2)
您没有从会话中转换值。尝试:
CheckBox1.Checked = (bool) (Session["VSSsnap"] ?? false);
??检查以确保如果VSSsnap因任何原因为空,则返回false。
答案 1 :(得分:1)
使用以下代码:
if( Session["VSSsnap"] != null )
{
CheckBox1.Checked = Convert.ToBoolean(Session["VSSsnap"]);
}
答案 2 :(得分:1)
复选框的Checked
属性为bool
,而不是string
。
您尝试将string
分配给Checked
属性,这就是您收到错误的原因。
请改为尝试:
CheckBox1.Checked = (bool)(Session["VSSsnap"] ?? false);