Domanda

La mia pagina principale ha un titolare del contenuto e la mia pagina ha 2 griglie rad, all'interno di pannelli ASP separati. In una selezione a discesa, la rispettiva griglia viene caricata nella pagina.

  1. Seleziono la griglia 1 dal menu a discesa
  2. Fare clic su Aggiungi nuova riga, ma non annullare o aggiungere qualsiasi nuova riga (lascia che quella nuova riga rimanga aperta)
  3. Seleziona Grid2 dal menu a discesa, lascia che la griglia carichi
  4. Seleziona ancora una volta Grid1 dal menu a discesa

A questo punto, la Grid1 si apre, ma ricevo seguendo l'errore JavaScript.

Microsoft JScript Errore di runtime: sys.webforms.pagerequestmanagerserrerrorexception: non è stato caricato a ViewState. L'albero di controllo in cui viene caricato ViewState deve corrispondere all'albero di controllo utilizzato per salvare ViewState durante la richiesta precedente. Ad esempio, quando si aggiungono i controlli in modo dinamico, i controlli aggiunti durante un post-back devono corrispondere al tipo e alla posizione dei controlli aggiunti durante la richiesta iniziale.

Qualche idea sul problema. Ho letto in alcuni forum che il problema potrebbe essere, utilizzando lo stesso tipo di controllo in un singolo titolare del contenuto. Qualche suggerimento sulla soluzione ???

È stato utile?

Soluzione 3

Ho eliminato i controlli di entrambe le griglie sul cambio di selezione a discesa, prima di rimandarle. Ha risolto il mio problema.

RadGrid1.Controls.Clear (); RadGrid2.Controls.Clear ();

Altri suggerimenti

Lo stesso tipo di controllo nello stesso supporto di contenuto non è un problema.

Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.

Ciò si verifica più spesso quando si aggiungono e rimuove dinamicamente i controlli. Basta cambiare la visibilità non dovrebbe darti un errore.

Forse mostrare una parte del tuo codice sarebbe di aiuto.

Senza ulteriori informazioni sembra che i tuoi controlli non siano più nella pagina dopo un postback. Stai eliminando la griglia rad o li stai solo rendi visibile quando necessario? Può anche essere che li aggiungi dinamicamente. Questo può causare problemi con i radgrid.

Penso che la soluzione migliore sia usare una griglia e manipolarla quando l'utente ha effettuato una nuova selezione. Se le griglie sono molto diverse l'una dall'altra, aggiungerei più e le renderebbe visibili quando selezionate dall'elenco (non farlo quando hai più di 3 opzioni).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top