Lorsque je lance la compilation, j'obtiens le message suivant. J'essais
juste de faire la liste des fichiers et dossiers d'un répertoire donné pour
qu'elle apparaissent dans une ListBox (nommé ici : "ListeRep").
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
string RepInitial = Request.ApplicationPath + "/piccom/fichiers/";
Session["RepCourant"] = RepInitial;
}
AfficheRep((string)Session["RepCourant"]);
}
private void AfficheRep(string Rep)
{
string RepInitial = Request.ApplicationPath + "/piccom/fichiers/";
DirectoryInfo Repertoire = new DirectoryInfo(Rep);
if ((string)Session["RepCourant"] != RepInitial)
{
ListeRep.Items.Add("<Remonter d'un niveau>");
}
foreach(DirectoryInfo Element in Repertoire.GetDirectories())
ListeRep.Items.Add("<"+Element.Name+">");
foreach(FileInfo ElementFichier in Repertoire.GetFiles())
ListeRep.Items.Add(ElementFichier.Name);
}
Impossible de trouver une partie du chemin d'accès
"/cc2617v2/piccom/fichiers/".
Description : Une exception non gérée s'est produite au moment de
l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour
plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.IO.DirectoryNotFoundException: Impossible de
trouver une partie du chemin d'accès "/cc2617v2/piccom/fichiers/".
Erreur source:
Ligne 41 : ListeRep.Items.Add("<Remonter d'un niveau>");
Ligne 42 : }
Ligne 43 : foreach(DirectoryInfo Element in Repertoire.GetDirectories())
Ligne 44 : ListeRep.Items.Add("<"+Element.Name+">");
Ligne 45 : foreach(FileInfo ElementFichier in Repertoire.GetFiles())
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
YJLAMOTTE
Bonjour, je crois qu'il faut faire un petit point ...
Request.ApplicationPath va te donner un chemin Virtuel.. Les méthodes de System.IO fonctionnent avec un chemin physique..
Ton image (voir poste précédent) peut fonctionner avec un chemin physique si tu ne passe pas par un serveur (ex les fichiers HTML d'aide) ou virtuel
La solution habituelle est de mettre dans ton web.config une variable "ROOT" qui va te donner le chemin physique de ton répertoire de base.. apres tu concatenes avec ce que tu veux..
Lis bien le MSDN sur Request.ApplicationPath et Server.MapPath et apres tu n'auras plus de pb. Eventuellement passe en Debug et pose des points d'arret pour bien voir ce que ces méthodes te renvoie.
Aller, courage
YJLAMOTTE
"Steeve" wrote:
Bonjour,
Lorsque je lance la compilation, j'obtiens le message suivant. J'essais juste de faire la liste des fichiers et dossiers d'un répertoire donné pour qu'elle apparaissent dans une ListBox (nommé ici : "ListeRep").
private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { string RepInitial = Request.ApplicationPath + "/piccom/fichiers/"; Session["RepCourant"] = RepInitial; } AfficheRep((string)Session["RepCourant"]); } private void AfficheRep(string Rep) { string RepInitial = Request.ApplicationPath + "/piccom/fichiers/"; DirectoryInfo Repertoire = new DirectoryInfo(Rep); if ((string)Session["RepCourant"] != RepInitial) { ListeRep.Items.Add("<Remonter d'un niveau>"); } foreach(DirectoryInfo Element in Repertoire.GetDirectories()) ListeRep.Items.Add("<"+Element.Name+">"); foreach(FileInfo ElementFichier in Repertoire.GetFiles()) ListeRep.Items.Add(ElementFichier.Name); }
Impossible de trouver une partie du chemin d'accès "/cc2617v2/piccom/fichiers/". Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.IO.DirectoryNotFoundException: Impossible de trouver une partie du chemin d'accès "/cc2617v2/piccom/fichiers/".
Erreur source:
Ligne 41 : ListeRep.Items.Add("<Remonter d'un niveau>"); Ligne 42 : } Ligne 43 : foreach(DirectoryInfo Element in Repertoire.GetDirectories()) Ligne 44 : ListeRep.Items.Add("<"+Element.Name+">"); Ligne 45 : foreach(FileInfo ElementFichier in Repertoire.GetFiles())
Bonjour,
je crois qu'il faut faire un petit point ...
Request.ApplicationPath va te donner un chemin Virtuel..
Les méthodes de System.IO fonctionnent avec un chemin physique..
Ton image (voir poste précédent) peut fonctionner avec un chemin physique
si tu ne passe pas par un serveur (ex les fichiers HTML d'aide) ou virtuel
La solution habituelle est de mettre dans ton web.config une variable "ROOT"
qui va te donner le chemin physique de ton répertoire de base.. apres tu
concatenes avec ce que tu veux..
Lis bien le MSDN sur Request.ApplicationPath et Server.MapPath et apres tu
n'auras plus de pb. Eventuellement passe en Debug et pose des points d'arret
pour bien voir ce que ces méthodes te renvoie.
Aller, courage
YJLAMOTTE
"Steeve" wrote:
Bonjour,
Lorsque je lance la compilation, j'obtiens le message suivant. J'essais
juste de faire la liste des fichiers et dossiers d'un répertoire donné pour
qu'elle apparaissent dans une ListBox (nommé ici : "ListeRep").
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
string RepInitial = Request.ApplicationPath + "/piccom/fichiers/";
Session["RepCourant"] = RepInitial;
}
AfficheRep((string)Session["RepCourant"]);
}
private void AfficheRep(string Rep)
{
string RepInitial = Request.ApplicationPath + "/piccom/fichiers/";
DirectoryInfo Repertoire = new DirectoryInfo(Rep);
if ((string)Session["RepCourant"] != RepInitial)
{
ListeRep.Items.Add("<Remonter d'un niveau>");
}
foreach(DirectoryInfo Element in Repertoire.GetDirectories())
ListeRep.Items.Add("<"+Element.Name+">");
foreach(FileInfo ElementFichier in Repertoire.GetFiles())
ListeRep.Items.Add(ElementFichier.Name);
}
Impossible de trouver une partie du chemin d'accès
"/cc2617v2/piccom/fichiers/".
Description : Une exception non gérée s'est produite au moment de
l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour
plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.IO.DirectoryNotFoundException: Impossible de
trouver une partie du chemin d'accès "/cc2617v2/piccom/fichiers/".
Erreur source:
Ligne 41 : ListeRep.Items.Add("<Remonter d'un niveau>");
Ligne 42 : }
Ligne 43 : foreach(DirectoryInfo Element in Repertoire.GetDirectories())
Ligne 44 : ListeRep.Items.Add("<"+Element.Name+">");
Ligne 45 : foreach(FileInfo ElementFichier in Repertoire.GetFiles())
Bonjour, je crois qu'il faut faire un petit point ...
Request.ApplicationPath va te donner un chemin Virtuel.. Les méthodes de System.IO fonctionnent avec un chemin physique..
Ton image (voir poste précédent) peut fonctionner avec un chemin physique si tu ne passe pas par un serveur (ex les fichiers HTML d'aide) ou virtuel
La solution habituelle est de mettre dans ton web.config une variable "ROOT" qui va te donner le chemin physique de ton répertoire de base.. apres tu concatenes avec ce que tu veux..
Lis bien le MSDN sur Request.ApplicationPath et Server.MapPath et apres tu n'auras plus de pb. Eventuellement passe en Debug et pose des points d'arret pour bien voir ce que ces méthodes te renvoie.
Aller, courage
YJLAMOTTE
"Steeve" wrote:
Bonjour,
Lorsque je lance la compilation, j'obtiens le message suivant. J'essais juste de faire la liste des fichiers et dossiers d'un répertoire donné pour qu'elle apparaissent dans une ListBox (nommé ici : "ListeRep").
private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { string RepInitial = Request.ApplicationPath + "/piccom/fichiers/"; Session["RepCourant"] = RepInitial; } AfficheRep((string)Session["RepCourant"]); } private void AfficheRep(string Rep) { string RepInitial = Request.ApplicationPath + "/piccom/fichiers/"; DirectoryInfo Repertoire = new DirectoryInfo(Rep); if ((string)Session["RepCourant"] != RepInitial) { ListeRep.Items.Add("<Remonter d'un niveau>"); } foreach(DirectoryInfo Element in Repertoire.GetDirectories()) ListeRep.Items.Add("<"+Element.Name+">"); foreach(FileInfo ElementFichier in Repertoire.GetFiles()) ListeRep.Items.Add(ElementFichier.Name); }
Impossible de trouver une partie du chemin d'accès "/cc2617v2/piccom/fichiers/". Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.IO.DirectoryNotFoundException: Impossible de trouver une partie du chemin d'accès "/cc2617v2/piccom/fichiers/".
Erreur source:
Ligne 41 : ListeRep.Items.Add("<Remonter d'un niveau>"); Ligne 42 : } Ligne 43 : foreach(DirectoryInfo Element in Repertoire.GetDirectories()) Ligne 44 : ListeRep.Items.Add("<"+Element.Name+">"); Ligne 45 : foreach(FileInfo ElementFichier in Repertoire.GetFiles())