Ich möchte eine dynamische Umfrage erstellen. Wo ich alle Fragenkontrollen von der Datenbank generiere. Unten ist ein Beispiel für das, was ich versuche (ohne den Datenbank-Teil). Ich kann Fragen wie unten gezeigt anzeigen. Ich kann die Benutzereingabe nicht lesen.Benutzereingaben von dynamischen Steuerelementen abrufen
Hat jemand irgendwelche Ideen.
Ich habe in den Viewstate geschaut, aber ich kann nicht scheinen, damit es funktioniert.
Wenn die Seite durch einen Post-Back neu geladen wird, sind die Steuerelemente verschwunden. Ich habe mir jedes erdenkliche Ereignis angeschaut und es gibt keine Kontrollen auf der Seite. Bis ich sie beim Ereignis Page Load erneut erstellt habe.
Woher soll ich den Wert der Benutzereingabe für dynamisch erstellte Steuerelemente ermitteln?
Seite
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
-Code Datei
protected override void OnPreLoad(EventArgs e)
{
base.OnPreLoad(e);
foreach (Control item in form1.Controls)
{ }
}
protected void Page_PreInit(object sender, EventArgs e)
{
foreach (Control item in form1.Controls)
{ }
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
foreach (Control item in form1.Controls)
{ }
}
protected override void OnSaveStateComplete(EventArgs e)
{
base.OnSaveStateComplete(e);
foreach (Control item in form1.Controls)
{ }
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
foreach (Control item in form1.Controls)
{ }
}
protected void Page_Load(object sender, EventArgs e)
{
RadioButton rb;
rb = new RadioButton();
rb.ID = "rb_1";
rb.Text = "yes";
rb.GroupName = "question";
form1.Controls.Add(rb);
rb = new RadioButton();
rb.ID = "rb_2";
rb.Text = "no";
rb.GroupName = "question";
form1.Controls.Add(rb);
rb = new RadioButton();
rb.ID = "rb_3";
rb.Text = "other";
rb.GroupName = "question";
form1.Controls.Add(rb);
TextBox tb = new TextBox();
form1.Controls.Add(tb);
Button btn = new Button();
btn.Text = "Save";
form1.Controls.Add(btn);
foreach (Control item in form1.Controls)
{
}
}