2013-09-03 3 views
1

내 데이터베이스에있는 모든 데이터를 수신하여 내보기에 표시하도록 쿼리를 작성하려고합니다.컨트롤러에서 View - MVC로 데이터 전달

하지만 작동하지 않습니다. 나는 어떤 오류도 없기 때문에 계속 진행되고있다.

누구나이 pls를 도울 수 있습니까? 사전에

덕분에

컨트롤러 :

public ActionResult Details(int id = 0) 
      { 
       Persons p= db.persons.Find(id); 

       var query = from a in db.images 
          where a.Id_Person== id 
          select a.FileName; 
       ViewBag.ImgRev= query; 

       if (mag == null) 
       { 
        return HttpNotFound(); 
       } 

       return View(p); 
      } 

보기 : 그것이 ViewBag에 할당되기 전에

@foreach (var p in ViewBag.ImgRev) 
     { 
      <div> 
      <img src="~/Files/" + @p /></div> 
     } 
+1

하면 디버깅 및 데이터가 있다는 것을 보았는가? – Zaki

+0

체크 ... null ... 무엇이 잘못 되었나요? 무언가 놓치고 어디에서 왔는지 – user2232273

답변

1

LINQ 문은 평가하지 않습니다.

시도 :

컨트롤러 :

ViewBag.ImgRev = query.ToList(); 

보기 :

@ { 
    var imgList = ViewBag.ImgRev as IEnumerable<string>; 
} 

@foreach (var p in imgList) 
{ 
    <div><img src="~/Files/" + @p /></div> 
} 

대체 사용하여 뷰 모델 :

public class SomePageViewModel 
{ 
    public Persons Persons { get; set; } 
    public IEnumerable<string> Files { get; set; } 
} 

컨트롤러 :

... 
var model = new SomePageViewModel { Persons = p, Files = query.ToList() }; 
return model; 

보기 :

@foreach (var file in Model.Files) 
{ 
    <div><img src="~/Files/" + @file /></div> 
} 
+0

romoku? – user2232273

+0

나는 클래스 이름을 짐작했다. – Romoku

+0

나는 당신의 코드를 시도하지만이 오류가 발생한다. 객체 참조가 객체의 인스턴스로 설정되지 않았다. : 중단 점 foreach – user2232273

관련 문제