2010-11-21 6 views
1

asp.net-4.0 I이 한 :

slideshow.aspx 
<div class="wrapCarousel"> 
    <div class="Carousel"> 
     <% foreach(var image in Images) { %> 
     <div class="placeImages"> 
     <img width="150px" height="150px" src="../Img/<%=image.TnImg%>" alt="<%=image.Name%>" /> 
     <div class="imageText"> 
     <%=image.Name%> 
     </div> 
     </div> 
     <% } %> 
    </div> 

그리고 사진이 slideshow.aspx.cs처럼 뒤에 코드에서였다

public class Image 
    { 
     public string TnImg { get; set; } 
     public string Name { get; set; } 
     public string City { get; set; } 
     public string RefPlace { get; set; } 
     public string RefInfo { get; set; } 
     public string RefInfoDynamic { get; set; } 

     public Image(string TnImg, string Name, string City, string RefPlace, string RefInfo, string RefInfoDynamic) 
     { 
      this.TnImg = TnImg; 
      this.Name = Name; 
      this.City = City; 
      this.RefPlace = RefPlace; 
      this.RefInfo = RefInfo; 
      this.RefInfoDynamic = RefInfoDynamic; 
     } 
    } 

    Images.Add(new Image("", "", "", "", "", ""); 

이제 asp.net-MVC2를 사용하면 이전과 같은 이미지에 액세스 할 수 없으며 대신 .aspx 파일로 전달해야하는 코드가 없습니다.

어떻게 처리하나요?

감사 M

답변

5

당신은 강력한 형식의 뷰를 사용하여 컨트롤러에서보기로 모델을 통과합니다.

일부 세부 사항은 here입니다.

그런 다음 같은 것을 사용하는 것이

...

<% foreach(var image in Model.Images) { %> 

    <div><%= image.Name %></div> 

<% } %> 

컨트롤러 아래에, 당신은 외부 소스에서 이미지의 목록을 얻을 수있는 위치처럼 보일 것입니다. 그냥

return View (imageViewModel); 

나는 아래의 호출하지만 명시 적, 심지어 (렌더링 할 뷰의 이름을 지정하는 것을 선호 뷰를 렌더링하기 위해 아래에 사용할 수 위의 코드에서

public ActionResult Index() 
{ 
    ImageViewModel imageViewModel = new ImageViewModel(); 
    imageViewModel.Images = _imageRepository.GetImages(); 

    return View ("Index", imageViewModel);  

} 

그것은 현재의 컨트롤러 액션의 같은 이름이 비록) 나는 ImageViewModel (무엇이 경우에 따라서

return View ("Index", imageViewModel); 
+0

) 더 읽고 생각)과의 foreach는 Model.imageViewModel이 "foreach는 (var에 이미지처럼해야 "그럼? – Mikael

+0

강력하게 ViewView를 ImageViewModel 유형으로 입력하고 해당 유형에 Images 속성이 있으면 Model.Images를 사용하여 View의 데이터에 액세스하게됩니다. – Matt

+0

'ImageViewModel'은'Images' 속성을 가진 클래스입니다. 뷰에서, 전달 된 모델 클래스의 인스턴스를'Model'으로 참조하십시오. – svick