2009-04-02 13 views
-4

実行時に動的フォルダを作成します。 TextBoxと出力を介して入力されるフォルダ名はツリービューに表示されます。ASP.NETでコードの背後にフォルダを作成するにはどうすればよいですか?

テキストボックス1に最初のフォルダ名を入力して[フォルダの追加]ボタンをクリックすると、フォームが送信されます。同じ名前の複数のフォルダを送信すると、出力は名前のインデックス付きインクリメントになります。例えば。

FooFolder(2)を削除してからFooFolderという名前のフォルダを再作成すると、そのフォルダはFooFolder(2)になります。さらに1つ作成した場合FooFolder(4)にする必要があります。

削除するには、TextBox2に表示される特定のフォルダをツリービューから選択し、[フォルダの削除]ボタンをクリックします。ここで

は私のプレゼンテーションコードです:

<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> 

は今どのように私は仕事をするためにコードを書くのですか?

+0

どのような言語ですか?私もコードが表示されません –

+0

あなたのメッセージは読みにくいです。 ディレクトリを作成する方法に興味があるかどうかわかりません... (とにかくどの言語でも) またはディレクトリの名前を選択するアルゴリズムを設計する方法についての指示が必要な場合作成した。 – fulmicoton

+0

シャープな言語。 – user59637

答えて

-1

サブディレクトリのディレクトリを読み取り、ディレクトリ名と指定した名前(テキストボックスに入力)を比較することができます。見つかった場合は、カウンター値を追加できます。フォルダ名が "()"の場合は、このカウンタをインクリメントする必要があります。あなたは、ディレクトリを作成するには、OSに依存する技術を、特定のAPIを呼び出すことができます。 すなわち適切な名前を取得した後、カウンタ値を付加した後、あなたは

int SHCreateDirectory(HWND hwnd, LPCWSTR pszPath); 

EDITディレクトリを作成するのWin32 APIを呼び出すことができます。上記はWin32用です。

+2

プロジェクトはASP.NETなので、.NET System.IOメソッドの使用をお勧めします。 –

+0

はい、そうです。 – Vinay

+0

HWNDは何ですかhwnd、LPCWSTR pszPath ???? – user59637

17

あなたの質問は少し不明ですが、私はあなたに少しでも道を譲りましょう。

まず、この機能を有効にするには、System.IO名前空間をインポート/使用する(言語によって異なる)ことを確認してください。しかし、あなたができることは、このようなものです。

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)); 

これは、とにかくフォルダーを作成するのに役立ちます。

関連する問題