jeudi 12 février 2015

Cannot find Checkbox controls in page

I am trying to take the Checkboxes on the page and insert their Text into the database. When I click the submit button it doesn't find any of the Checkbox controls. I am trying to enumerate through all of them and insert each. I need to use individual checkboxes rather than a checkboxlist for this project in case someones suggests I use a list. Why aren't my controls showing up?


C# - Submit button



foreach (Control c in Page.Controls)
{
foreach (Control childc in c.Controls)
{
if ((childc is CheckBox) && ((CheckBox)childc).Checked)
{
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@Name", ((CheckBox)childc).Text);
cmd.Parameters.AddWithValue("@DateAdded", DateTime.Now.ToString());
cmd.ExecuteNonQuery();
}
}
}


C# - Where checkboxes are created and inserted into panel



foreach (System.Xml.XmlNode node in nodes)
{
string displayname = node.SelectSingleNode("FName").InnerText.Trim();
string idnumber = node.SelectSingleNode("idNum").InnerText.Trim();
CheckBox ckBox = new CheckBox();
ckBox.InputAttributes.Add("value", idnumber);
panel1.Controls.Add(new LiteralControl("<div class='checkbox checkbox-slider-lg checkbox-slider--b-flat'><label>"));
panel1.Controls.Add(ckBox);
panel1.Controls.Add(new LiteralControl("<span>" + displayname + "</span></label></div>"));
}


All of my checkboxes are dynamically inserted into this panel on my page


.ASPX



<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<form id="form1" runat="server">
<asp:Panel ID="panel1" runat="server"></asp:Panel>
<asp:Button ID="btn1" runat="server" OnClick="Submit_Click" Text="Save" />
</form>
</asp:Content>


Also tried this but it didn't pick up the controls either:



foreach (var ctrl in this.Controls.OfType<CheckBox>().Where(x => x.Checked))




Aucun commentaire:

Enregistrer un commentaire