Je rencontre des problèmes lors de l'utilisation des variables de session car elles sont utilisées comme Référence et je souhaite les utiliser comme valeur.Utilisation de variables comme valeur et non comme référence
Je suis arrivé à ce debug ma solution et je crée quelque chose comme:
DataTable dt =
(DataTable)HttpContext.Current.Session[
"SearchReturn-DataTableSchema"];
// Adding Rows of Data to DataTable dt
HttpContext.Current.Session["SearchReturn-DataTable"] = dt;
((DataTable)HttpContext.Current.Session[
"SearchReturn-DataTableSchema"]).Rows.Clear();
return dt;
mon idée était d'avoir dans « DataTableSchema » seul le DataTable avec les colonnes du schéma et dans « DataTable » la Colonnes + lignes.
Le problème est que lorsque je effacer toutes les lignes de DataTableSchema, la dt variable ont les lignes décochée (!!)
Comment éviter cela? Comment affecter une variable (dans ce cas une variable Session) en tant que valeur et non en tant que référence?
Merci.
Réponse
cette
DataTable dt = (DataTable)Session["SearchReturn-DataTableSchema"];
a besoin d'être ceci:
DataTable dt = ((DataTable)Session["SearchReturn-DataTableSchema"]).Copy();
:-)
oublié tout sur DataTable.Copy() :) – balexandre