Męczę się już jakiś czas z problemem. Tworzę 2 strony - na pierwszej podaję dane i przesyłam je do drugiej strony. Przesyłam listę stringów. Problem w tym, że na drugiej stronie w tabeli pojawia mi się tylko jeden wiersz danych. Ja to widzę tak:
1) Albo coś jest nie tak z tworzeniem tabeli (myślę, że raczej nie)
2) Albo jakimś dziwnym sposobem do drugiej strony zostaje przesłany tylko ostatni string z listy. Ale dlaczego? Jak temu zaradzić?
Załóżmy, że deklaruję sobie taką listę i wypełniam ją danymi:
List<string> name = new List<string>();
A potem robię tak:
Session["name"] = name;
Następnie na drugiej stronie tak "przejmuję" te dane:
var name = (List<string>)Session["name"];
Takich list mam 5, a tutaj poniżej jest kod, jak tworzę tabelę:
if (name.Count()>0)
{
for (int i = 0; i < name.Count(); i++)
{
TableCell p1 = new TableCell();
TableCell p2 = new TableCell();
TableCell p3 = new TableCell();
TableCell p4 = new TableCell();
TableCell p5 = new TableCell();
p1.Text = name[i];
p2.Text = surname[i];
p3.Text = birthday[i];
p4.Text = gender[i];
p5.Text = pesel[i];
/*
c1.Text = list[i].name;
c2.Text = list[i].surname;
c3.Text = list[i].birthday;
c4.Text = list[i].gender;
c5.Text = list[i].pesel;
*/
TableRow row2 = new TableRow();
row2.Controls.Add(p1);
row2.Controls.Add(p2);
row2.Controls.Add(p3);
row2.Controls.Add(p4);
row2.Controls.Add(p5);
Table1.Controls.Add(row2);
}
Screen:
Co mam zrobić, aby wyświetliło mi pełną tabelę? Tak, żeby było tam więcej niż tylko jeden wiersz. Chyba, że mam jakiś błąd podczas pobierania danych, ale nie wiem, co tam może być źle.