Флажок: Показать в зависимости от значения сеанса? - PullRequest
0 голосов
/ 02 октября 2009

У меня есть два флажка на разных страницах. Я отправляю значение из первого флажка, используя сессию, как это:

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"]);

Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

2 голосов
/ 02 октября 2009

Вы не разыгрываете значение из сеанса. Попробуйте:

CheckBox1.Checked =  (bool) (Session["VSSsnap"] ?? false);

?? убедитесь, что если VSSsnap имеет значение null по любой причине, будет возвращено значение false.

1 голос
/ 02 октября 2009

Флажок Checked для этого флажка является bool, а не string.

Вы пытаетесь присвоить string свойству Checked, поэтому вы получаете сообщение об ошибке.

Попробуйте вместо этого:

CheckBox1.Checked = (bool)(Session["VSSsnap"] ?? false);
1 голос
/ 02 октября 2009

Используйте код ниже:

if( Session["VSSsnap"] != null )
{
 CheckBox1.Checked = Convert.ToBoolean(Session["VSSsnap"]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...