2009-04-02 7 views
-4

런타임에 동적 폴더를 만들려고합니다. TextBox 및 출력을 통해 입력되는 폴더 이름은 TreeView에 표시됩니다.ASP.NET에서 코드 숨김 폴더를 만드는 방법은 무엇입니까?

텍스트 상자 1에 첫 번째 폴더 이름을 입력하고 "폴더 추가"버튼을 클릭하면 양식이 제출됩니다. 같은 이름의 여러 폴더를 제출할 때 출력은 이름의 색인 된 증가분이어야합니다. 예 :

FooFolder (2)를 삭제하고 FooFolder라는 이름의 폴더를 다시 만들면 폴더는 FooFolder (2) 여야하며 하나를 더 만들면 폴더가 있어야합니다. FooFolder (4) 폴더 여야합니다.

삭제의 경우 TextBox2에 표시 될 특정 폴더를 TreeView에서 선택하고 "폴더 제거"버튼을 클릭 할 수 있습니다. 내가 일을 할 수있는 코드를 작성 어떻게 지금

<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

하위 디렉토리의 디렉토리를 읽고 디렉토리 이름을 주어진 이름 (텍스트 상자에 입력)과 비교할 수 있습니다. 발견되면 카운터 값을 추가 할 수 있습니다. 폴더 이름이 "()"과 같은 경우이 카운터를 증가시켜야합니다. 카운터 값을 추가 한 후 디렉토리를

int SHCreateDirectory(HWND hwnd, LPCWSTR pszPath); 

편집을 만들 수는 Win32 API를 호출 할 수 있습니다, 즉, 적절한 이름을 얻은 후에 : 당신은 OS에 따라 특정 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)); 

은 어쨌든 폴더 생성과 가야 도움이 될 것입니다.

관련 문제