22. oktober 2003 - 14:02Der er
5 kommentarer og 2 løsninger
Session problem
Jeg har en side med en tekstboks. Her indtaster jeg et tal og klikker på en submit knap. Der bliver nu dynamisk genereret det antal tekstbokse som indtastet, på den samme side, samt en submit knap mere der hedder Fortsæt. Disse tekstbokse kommer så til og hedde foeler1, foeler2, foeler3 osv. Mit problem ligger i og få indholdet af disse tesktbokse over i en session når jeg klikker på Fortsæt. Jeg have tænkt i denne dur: Session["foeler"+count] = @foeler + count Ved godt det ikke virker. Håber i forstår mit problem.
Jeg vil nok samtidigt med at du oprettet dine dynamiske textbokse, ligge en reference til hver af dem i en textbox array. når du så trykker på forsæt, kan du løbe arrayet i gennem med fx en foreach og gemme i session.
finger >> Jeg har lagt de dynamiske tekstbokse over i et tekstbox array. Nu er problemet og få overført de variabler der ligger i de dynamiske tekstbokse. Har prøvet flere ting. Min kode ser således ud.
Denne funktion bliver kaldt når jeg indtaster et tal og klikker ok:
public void CreateTextBoxes(Object sender, EventArgs e) { int n = Int32.Parse(txtTBCount.Text); Session["antalFoelere"] = n; overskriftNavngivning.Text = "Deres web-termometer har " + Session["antalFoelere"] + " følere tilsluttet. De kan nu navngive disse følere, f.eks. (Serverrum).";
// now, create n TextBoxes, adding them to the PlaceHolder TextBoxesHere for (int i = 0; i < n; i++) { TextBoxesHere.Controls.Add(new Label()); TextBoxesHere.Controls.Add(new TextBox()); Literal l = new Literal(); l.Text = "<Br>"; TextBoxesHere.Controls.Add(l); } Session["antalFoelere"] = txtTBCount.Text; // now, set the Text property of each TextBox IterateThroughChildren(this); }
...som kalder denne funktion:
int count = 1;
public void IterateThroughChildren(Control parent) { TextBox[] tekstbokse = new TextBox[Convert.ToInt32(Session["antalFoelere"])+1]; foreach (Control c in parent.Controls) { if (c.GetType().ToString().Equals("System.Web.UI.WebControls.Label") && c.ID == null) { ((Label) c).Text = "Føler " + count.ToString() + ": "; }
--------(Pseudo-kode)------ 1:Bruger indtaster det ønskede antal af textboxe der skal genereres og trykker ok: { TextBox[] myBoxes = new TextBox[antal intastet af bruger];
for(antal indtastet af bruger) { generer textbox og label og tilføj til controls osv..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.