C# 复选框:是否根据会话的值显示?
我在不同的页面上有两个复选框。我使用如下会话从第一个复选框发送值:C# 复选框:是否根据会话的值显示?,c#,asp.net,visual-studio-2008,C#,Asp.net,Visual Studio 2008,我在不同的页面上有两个复选框。我使用如下会话从第一个复选框发送值: protected void Button4_Click(object sender, EventArgs e) { Session["VSSsnap"] = CheckBox1.Checked; Response.Redirect("~/Addnewpolicy4.aspx"); } 我在下一页收到了这样的会话: string vss = Ses
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();
我也试过这个,;调试时,这些值也会出现(但不会通过复选框显示):
非常感谢您的帮助。请使用以下代码:
if( Session["VSSsnap"] != null )
{
CheckBox1.Checked = Convert.ToBoolean(Session["VSSsnap"]);
}
使用以下代码:
if( Session["VSSsnap"] != null )
{
CheckBox1.Checked = Convert.ToBoolean(Session["VSSsnap"]);
}
复选框的
Checked
属性是bool
,而不是字符串
您正试图将字符串
分配给选中的
属性,这就是为什么会出现错误的原因
请尝试以下方法:
CheckBox1.Checked = (bool)(Session["VSSsnap"] ?? false);
复选框的Checked
属性是bool
,而不是字符串
您正试图将字符串
分配给选中的
属性,这就是为什么会出现错误的原因
请尝试以下方法:
CheckBox1.Checked = (bool)(Session["VSSsnap"] ?? false);
您没有从会话中强制转换值。尝试:
CheckBox1.Checked = (bool) (Session["VSSsnap"] ?? false);
这个??检查以确保如果VSSsnap因任何原因为null,将返回false。您没有从会话中强制转换值。尝试:
CheckBox1.Checked = (bool) (Session["VSSsnap"] ?? false);
这个??检查以确保VSSsnap是否因任何原因为null将返回false。该代码可以工作,但我认为与我的代码相比,建议使用Michael或Luke的代码。该代码可以工作,但与我的代码相比,建议使用Michael或Luke的代码。