如何在不使用JavaScript的情况下检查动态复选框?

时间:2019-07-19 09:25:56

标签: asp.net

因此,我在checkbox1中动态添加了modal bootstrap,并且有一个CheckedChanged事件也动态添加了某些复选框的("checkbox1.1" "checkbox1.2" "checkbox1.3"),所以我的问题是,当我postback(在“提交”或链接按钮上)时,如何知道我的checkbox1.1是否已选中?我实际上可以知道是否检查了我的checkbox1,因为我在每个postback上都重新创建了控件,但是我无法checkbox1.1来创建控件,因为它总是取决于是否检查了我的checkbox1或不。是否可以在不重新创建checkbox1.1中的postback的情况下获得它? (如果可能,请勿使用javascript

我已经尝试过,列表,字典,会话,Viewstates就像我不重新创建控件(checkbox1.1)一样无法保存它们,它们将会丢失

foreach (DataRow item in dt.Rows)
{
    i++;
    CheckBox chk = new CheckBox();
    chk.Attributes["class"] = "mycheckbox";
    chk.Font.Name = "Tahoma";
    chk.Attributes.Add("runat", "server");
    chk.Text = item[descricao].ToString();

    //If true add checkbox id = checkbox1
    if (divsname.ID == "DadosIdentificacao")
    {
        chk.ID = checkbox + i;
        chk.AutoPostBack = true;
        chk.CheckedChanged += new EventHandler(this.chkEventos);                        
    }
    //Else checkboxid = checkbox1.1
    else
    {
        chk.ID = checkbox + item[descricao].ToString() + i;
    }

    divsname.Controls.Add(chk);
    ListData.Add(chk);
}

我可以知道是否选中checkbox1,但是我的checkbox1.1控件在postback上消失了。

1 个答案:

答案 0 :(得分:0)

解决了,而不是动态创建我的复选框,而是用我所有的复选框填充 Session [“ list”] ,然后创建一个新的list List List1 = Session [“ list”]作为List ,并通过隐藏或显示我的复选框来使用相同的List1。