Eh, decisamente meno banale di quanto avessi capito all'inizio
Il fatto è che tu salvi un'array di riferimenti ad oggetti. L'array ( essendo static ) vive all'interno delle varie chiamate, ma nella seconda chiamata l'oggetto Table1 è stato ricreato ed il riferimento che ti sei tenuto in memoria è totalmente inutile.
La soluzione può essere fare riferimento agli ID degli oggetti
codice:
TableCell1.Text = DateTime.Now.ToString(); //con il Now si vedono bene i cambiamenti ad ogni Tick
se però vuoi fare un ciclo il mio consiglio è salvarti nell'array non gli oggetti ma i loro ID,
codice:
static public String[] tblID;
static int totInt;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
tbl= new String[3]{"Table1","Table2","Table3"};
for (byte curTbl = 0; curTbl < 3; curTbl ++)
{
Table t = (Table)FindControl(tbl[curTbl]);
t.Rows[0].Cells[0].Text = "Prova";
}
}
}
protected void Timer1_Tick(object sender, EventArgs e)
{
for (byte curTbl = 0; curTbl < 3; curTbl ++)
{
Table t = (Table)FindControl("Table1");
t.Rows[0].Cells[0].Text= DateTime.Now.ToString();
}
}
Prova così e fammi sapere