2013-12-14 4 views
0

ASP.NET/VB 웹 응용 프로그램을 구축 중입니다. 내 Main.Master 페이지에서 내 카테고리 (탐색) 메뉴에 Repeater 컨트롤을 사용하고 있습니다. SQLDataSource 컨트롤을 사용하여 내 Category 테이블에서 데이터를 가져옵니다. RepeaterItem Template은 이것이다 :URL에 폴더 이름이 추가됨

내 프로젝트 구조에서

, 나는 또한 관리자가 관련 페이지를 보유하고 Administration라는 폴더를라는 폴더를 만든 다음 문제에 대한 지금

<ItemTemplate> 
    <div class="category_item"> 
     <li> 
      <a href='ProductsList.aspx?CategoryId=<%#Eval("category_id")%>'><%#Eval("category_name")%></a> 
     </li> 
     </div> 
</ItemTemplate> 

Account. 해당 폴더 중 ANY에있는 페이지로 이동하면 (생성되는 모든 폴더에서 발생한다고 가정) 다른 폴더로 이동하기 위해 Repeater을 사용하려고 시도하면 폴더 이름이 다음과 같이 URL 경로에 추가됩니다.

http://localhost:xxxx/ProductsList.aspx?CategoryId=3 

: 전에

이 원인이 될 수있는 어떤

http://localhost:xxxx/Administration/ProductsList.aspx?CategoryId=3 

(나는-기록 및 해당 폴더 중 하나에 페이지를 방문한 가정)?

답변

1

응용 프로그램이 실행되면 디스크에 "기본"폴더 경로가 저장됩니다.이 경로는 일반적으로 실행 파일 (.exe)이 저장된 폴더입니다. 코드에서 하위 폴더로 이동하기 위해 Directory.SetCurrentDirectory()와 같은 위치를 변경하는 함수를 사용하면 "기본"폴더 설정이 변경됩니다.

"E : \ folder \ NextPage.asp"대신 링크에 "NextPage.asp"를 넣는 것과 같이 탐색 페이지의 링크가 페이지의 전체 경로를 지정하지 않으면 응용 프로그램이 가져올 때 파일에 대한 "전체 경로"는 파일을 찾으려고 할 때 URL에 대한 기본 폴더 경로를 미리 보류합니다.

이 단순히 첫 번째 URL과 같은 탐색 URL을 각 페이지의 전체 URL 경로를 넣어하는 것입니다 해결하는 쉬운 방법 :

http://localhost:xxxx/ProductsList.aspx?CategoryId=3 
+0

쉬운만큼 보인다 :) 더 유연한 솔루션이? 아니면 내가 더 많은 어려움에 빠지게 될까? – serge

+0

링크의 전체 URL은 탐색 페이지/바에 가장 안전합니다. 사용자가 Admin 폴더 예와 같이 하위 폴더에서 시작하는 URL을 입력 할 수 있기 때문입니다. –

관련 문제