2015-01-27 5 views
0

파일 경로를 하드 코딩하지 않고 요소를 선택하려면 어떻게해야합니까? 예를 들어, app.data에 img라는 폴더가 있고 페이지의 해당 폴더에있는 모든 이미지를 표시하고 싶다면 자바 스크립트 배열에 이러한 요소를 추가하고 ng-repeat를 사용하여이를 표시해야합니다. 이 작업을 수행하기 위해 몇 가지 간단한 자바 스크립트를 시도했습니다.AngularJS 및 C# app : HTML 페이지에서 사용할 app.data 폴더의 요소를 반복하고 선택하는 방법

var imageCount = 4; 
    for (var i = 1; i <= imageCount; i++) { 
     var imagePath = "data/Contents/Splash/img0" + i + ".png"; 
     var image = { image: imagePath }; 
     }; 

     $scope.images.push(image) 
    } 

그러나 이것은 여전히 ​​imageCount를 제공하여 저에게 달려 있습니다. 어떤 식 으로든이 폴더를 통해 반복하고 요소를 계산하고이를 imageCount에 저장할 수 있습니까? 인터넷 검색을 기반으로, 나는 그것이 대규모 보안 위협이 될 수 있기 때문에 자바 스크립트 (로컬 폴더에 액세스)에서이 모든 작업을 수행하지 못할 수도 있습니다.

이 응용 프로그램의 C# 백엔드는 app.data 폴더에 필요한 모든 컨텐츠를 가져옵니다.

 01_TabSection1 (a folder) 

     02_TabSection2 (a folder) 

     03_Splash (image) 

특정 접두사 또는 파일 형식을 찾고, 내가 폴더를 통해 반복 할 수있는 방법이 있나요, 또는 존재하는 경우 폴더 이름, 그래서 URL을 참조를 구축 할 수 있습니다 : 예를 들어 홈페이지 폴더는 3 개 파일이 내 HTML보기에서이 폴더의 요소를 사용 하시겠습니까?

이 모든 것을 잘못보고 있습니까? 더 많은 C# 또는 http get 요청, ajax, json을 사용하여이 작업을 수행해야합니까? 방금 폴더를 반복하는 PHP 예제를 발견했습니다. 어떤 이유로 나는 처음에 시작할 때 javascript가있는 로컬 폴더를 탐색 할 수 있다고 생각했습니다.

잠시 시간 내 주셔서 감사 드리며, 아는 것이 있으시면 죄송합니다.

+0

이미지를 렌더링하는 서버 쪽, JSON 객체로 Angular ajax 호출자에게 다시 전달합니다. Angular는 클라이언트 측에서 정보를 얻기 위해 C# 서버 측에 의존합니다. – Pogrindis

+0

@Pogrindis 내 데이터 폴더에 로컬 json 폴더가있는 경우 jQuery/javascript로 읽을 수 있습니까? 로컬 파일에서 GET 요청을 사용할 수 있습니까? –

+0

Cannner 예 http 요청을 통해 액세스 할 수있는 경우 직접 파일을 구문 분석 할 수 있습니다. GET 요청은 http에서 기본값이므로 일단 웹 디렉토리에서'.json'을 구문 분석하면 각도 컨트롤러 .. 디버깅 또는 크롬이나 파이어 폭스 (f12)에서 개발자 도구를 사용하여 스테핑 들어 – Pogrindis

답변

0

먼저 이름과 파일 이름을 사용하여 ASP.Net 폴더의 내용에 액세스 할 수 없습니다. 그러나 폴더가 ASP.Net 폴더가 아닌 경우 아래에 제안한대로 액세스 할 수 있습니다.

  1. 는 웹 API 또는 이미지의 목록을 반환하고 배열에 할당됩니다 모든 작업을 만들기 컨트롤러 예 $scope.ImageList=[]
  2. 의 배열을 만듭니다.

(당신이 클라이언트 측에서 모든 이미지가 있다면 당신은 그 배열에 이미지의 경로를 밀어 수) 및 당신이 원하는 목록과 구조를 구축 뷰 사용 ng-repeat 지시

<ul> 
<li ng-repeat="item in ImageList"> 
    <img ng-src="item" /> 
    </li> 
</ul>