Salve a tutti, vorrei chiedere ai presenti se riescono a darmi una mano con questo problema:
In pagina a.aspx ho la seguente struct
public struct nodo
{
//predecessore, distanza dall'origine, coordinate, espanso
public int p, d, x, y, expanded;
public string name;
}
che viene riempita con i dati.
Ho bisogno di passare intera struct ad un altra pagina. Suppongo che la via + facile sarebbe usare le session
//nodi è la struct nodo riempita
Session["nodi"] = nodi;
Il problema è seguente: non riesco ad estrarre la struct nodi dalla session alla pagina seguente.
I dati vengono trasmessi correttamente (secondo il debugger), quindi il problema sarebbe nel modo in cui cerco di trattarli
Avevo provato seguenti varianti (provengo dall'ambiente php e uso da pochissimo c# e asp, quindi siate clementi :P)
nodo[] nodi = new nodo[110];
nodi = (nodo[]) Session["nodi"];
oppure
nodo[] nodi = (nodo[])Session["nodi"];
I due tentativi precedenti mi davano errore System.InvalidCastException: Unable to cast object of type 'nodo[]' to type 'nodo[]'.
provando
object nodi = Session["nodi"];
La parte di dichiarazione va bene, ma se cerco di fare qualcosa come
int x = nodi[1].x;
L'errore restituito è
Compiler Error Message: CS0021: Cannot apply indexing with [] to an expression of type 'object'
Dove che sbaglio?
Grazie