2009-04-02 6 views
-4

Je souhaite créer des dossiers dynamiques lors de l'exécution. Les noms de dossier avec être entré via un TextBox et la sortie seront affichés dans un TreeView.Comment puis-je créer des dossiers dans ASP.NET dans le code derrière?

Le formulaire sera envoyé si j'entre le nom du premier dossier dans la zone de texte 1 et que je clique sur le bouton "Ajouter un dossier". Lorsque je soumets plusieurs dossiers avec le même nom, la sortie doit être un incrément indexé du nom. Par exemple. FooFolder, FooFolder (2), FooFolder (3), etc.

Si je supprime FooFolder (2), puis recréer un dossier avec le nom FooFolder, le dossier doit être FooFolder (2), et si j'en crée un de plus dossier alors il devrait être FooFolder (4).

Pour la suppression, vous pouvez sélectionner le dossier particulier de TreeView qui sera affiché dans TextBox2 et cliquez sur le bouton "Remove Folder".

Voici mon code de présentation:

<asp:Button ID="btnAddFolder" runat="server" Height="24px" Text="Add Folder" 
     Width="148px" onclick="btnAddFolder_Click" /> 
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    <br /> 
    <asp:Button ID="btnRemoveFolder" runat="server" Text="Remove Folder" /> 
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
    <br /> 
    <br /> 
    <asp:TreeView ID="TreeView1" runat="server" ImageSet="XPFileExplorer" 
     NodeIndent="15"> 
     <ParentNodeStyle Font-Bold="False" /> 
     <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" /> 
     <SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" 
      HorizontalPadding="0px" VerticalPadding="0px" /> 
     <NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" 
      HorizontalPadding="2px" NodeSpacing="0px" VerticalPadding="2px" /> 
    </asp:TreeView> 

Maintenant, comment puis-je écrire le code pour faire le travail?

+0

quelle langue? Je ne vois pas non plus de code –

+0

Votre message est difficile à lire. Nous ne savons pas si vous êtes intéressé par la façon de créer un répertoire ... (dans quelle langue de toute façon) ou si vous avez besoin d'indications sur la façon de concevoir l'algorithme qui sélectionne le nom du répertoire qui devrait être créé. – fulmicoton

+0

C langage pointu. – user59637

Répondre

-1

Vous pouvez lire le répertoire des sous-répertoires, comparer les noms de répertoire avec le nom donné (entré dans la zone de texte). Si elle est trouvée, vous pouvez ajouter la valeur du compteur. Vous devez incrémenter ce compteur si le nom du dossier est "()". Après avoir obtenu le nom propre dire, après y avoir ajouté la valeur du compteur, vous pouvez appeler API win32 pour créer le répertoire

int SHCreateDirectory(HWND hwnd, LPCWSTR pszPath); 

EDIT: Vous pouvez appeler les APIs spécifiques en fonction du système d'exploitation, la technologie pour créer le répertoire. Ci-dessus est pour Win32.

+2

Étant donné que le projet est ASP.NET, je recommande l'utilisation des méthodes .NET System.IO. –

+0

Oui, vous avez raison. – Vinay

+0

salut ce qui est HWND hwnd, LPCWSTR pszPath ???? – user59637

17

Votre question est un peu floue, mais je vais essayer de vous en parler de toute façon. Tout d'abord, assurez-vous d'importer/d'utiliser (selon la langue) l'espace de noms System.IO pour que cela fonctionne. Mais ce que vous pouvez faire est quelque chose comme ça.

string pathToCreate = "~/UserFolders/" + TextBox1.Text; 
if(Directory.Exists(Server.MapPath(pathToCreate)) 
{ 
    //In here, start looping and modify the path to create to add a number 
    //until you get the value needed 
} 

//Now you know it is ok, create it 
Directory.CreateDirectory(Server.MapPath(pathToCreate)); 

Cela devrait vous aider à démarrer avec la création du dossier.

Questions connexes