DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: C# | Thema: Verständnisproblem: Auslesen generierte TextBox(en)  | Von: Karl Knuppe ( 31.07.2006 15:41)

Hallo Community,

ich bin noch recht neu in der C# (.NET) Welt. Ich hoffe deshalb das mein Problem hier richtig aufgehoben ist und ihr mir helfen könnt.

Im Grunde nutze ich C# zur Entwicklung von ASP Seiten in einem vorgegeben Framework.

Mein Problem ist, das ich für eine Seite eine bestimmte Anzahl von TextBoxen brauche welche dargestellt werden sollen und das ausgefüllte Ergebniss wieder ausgelesen werden soll. Das knifflige dabei ist jedoch das ich nicht weiß wieviel TextBoxen ich benötige. Die Anzahl bestimmt ein Objekt einer anderen Klasse.

Meine Idee war die folgende:

C#-Code:
private Table teTable = new Table();
private SortedList tbList = new SortedList();


public Table specifyTerms()
{
teTable.Controls.Clear();

teTable.CssClass="tetable";
teTable.ID = "teTable";

//Anzahl benötigter Zeilen
teTable.Rows.Add(new TableRow());
teTable.Rows.Add(new TableRow());
teTable.Rows.Add(new TableRow());

teTable.Rows[0].Cells.Add(new TableCell());
teTable.Rows[1].Cells.Add(new TableCell());
teTable.Rows[2].Cells.Add(new TableCell());

//interne Tabelle
Table iteTable = new Table();

iteTable.Controls.Clear();
iteTable.CssClass="itetable";
iteTable.ID = "iteTable";

//Anzahl benötigter Zeilen bestimmen und hinzufügen
for (int i = 0; i < otherClass.getTextBoxesToAdd(); i++)
{
iteTable.Rows.Add(new TableRow());
iteTable.Rows[i].Cells.Add(new TableCell());

TextBox tb = new TextBox();
tb.ID = otherClass.getID() + "_" + i;

iteTable.Rows[i].Cells[0].Controls.Add(tb);

if (!tbList.ContainsKey(otherClass.getID()))
{
tbList.Add(testAtt.otherClass.getID(), tb);
}
}

teTable.Rows[0].Cells[0].Controls.Add(iteTable);

//Auswertung
teTable.Rows[1].Cells[0].Text = "";

//Button
Button teClick = new Button();
teClick.ID = "teClick";
teClick.Text = "Weiter -->";
teClick.Click +=new EventHandler(teClick_Click);
teTable.Rows[2].Cells[0].Controls.Add(teClick);
teTable.Rows[2].Cells[0].CssClass = "w_button";

return teTable;
}


//EventHandler
private void teClick_Click(object sender, EventArgs e)
{
String ergebnis = "";

foreach (TextBox tb in tbList)
{
ergebnis += tb.Text + "; ";
}

teTable.Rows[1].Cells[0].Text = ergebnis;
}



Beim Aufbau der darzustellenden Tabelle erzeuge ich einfach alle Textboxen, die benötigt werden. Die Anzahl liefert die Methode otherClass.getTextBoxesToAdd() zurück. Da ich die TextBoxen ja nun schlecht für die gesamte Klasse deklarieren kann (ich weiß ja nie wieviel), packe ich also alle TextBoxen in eine SortedList, welche der gesamten Klasse zur Verfügung steht. Klickt jmd. auf den Button "Weiter-->" springt der EventHandler teClick_CLick an, welcher die TextBox Objekte wieder aus der sortedList holt und den entsprechenden Text in den Listen ausliest.

Leider ist das Ergebnis immer dasselbe: Jede TextBox enthält, ganz gleich was ich auf der Seite dann eingetragen habe, keinen Eintrag mehr. Also nichts..

Bei CheckBoxen klappte es auf diese Art und Weise. Bei TextBoxen anscheinend nicht mehr. Wie löst man dieses Problem denn, so dass ich an den Inhalt aller dynamisch erzeugten TextBoxen heran komme?

Vielen Dank für die Hilfe,

Grüsse Martin


Betreff Von Datum
AW: Verständnisproblem: Auslesen generierte TextBox(en)...
Es gibt einen Artikel von bei 4 Guys From Rolla.com<br><br>Das sollte helfen denk ich: <br>http://aspnet.4guysfromrolla.com/articles/082102-1.aspx
Bernhard Grojer 01.08.2006 07:56

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG