2012-03-30 4 views
0

저는 MVC 디자인 패턴과 LinqToSql 데이터에 비교적 새로운 기능을 제공합니다. 기본적으로 MVC 개념을 활용하여 Linq2Sql DataContext에 저장된 데이터에 액세스하고 결과를 gridview에 채 웁니다. 코드 숨김 파일은 MVC의 목적을 무효로하기 때문에 정확히 어디에서 linq 쿼리를 실행하여 데이터를 SELECT하고이를 gridview에 바인딩합니까? 공공 무효 getBills() {MVC2에서 LinqToSql DataLayer에 액세스

 BillDataContext context = new BillDataContext(); 
     var bills = 
      from b in context.Bill_Items 
       select b; 

    } 

내가 컨트롤러에서이 퍼팅 시도하지만 분명히 컨트롤러에서 내 GRIDVIEW 개체를 잡아 수 없습니다

이 내 선택에 대한 코드입니다. 난 그보기에 코드 숨김 파일을 끈으로 묶어서 거기에서 벗어나려고 열심히 노력하고있어. 희망을 갖고 누군가가이를 달성하기위한 우수 사례를 밝힐 수 있기를 바랍니다.

+0

'GridView'. GridView는 ASP.NET MVC가 아닌 ASP.NET에서만 작동합니다. NerdDinner에는 항목 그리드를 표시하는보기와 저장소를 만드는 방법을 보여주는 예제가 있습니다. http://www.asp.net/mvc/tutorials/nerddinner/use-controllers-and-views-to-implement- a-listingdetails-ui ** "인덱스 뷰 템플릿 구현"섹션에서 페이지 아래로 3/4 정도 이동하십시오. ** –

답변

1

모든 Linq 코드를 포함 할 리포지토리 클래스를 만들고 모델 개체를 반환 할 수 있습니다. 당신은 컨트롤러에서이 저장소 클래스를 호출하고보기로 모델을 통과 할 수

방법이라고 GetBillItems (..)와 예 BillingRepository

public ActionResult BillItems() 
{ 
    BillingRepository repository = new BillingRepository(); 
    var model = repository.GetBilItems(); 
    return View(model); 
} 
당신은 표 비계가 아니라와보기를 사용하는 것입니다
+0

ASP.NET MVC에는 GridView가 없음을 설명해야합니다. 나는 그것에 대한 답을 쓰는 과정에있다. 그에게 말하고 싶습니까, 아니면 제 대답을 끝내야합니까? :) –

+0

이 방법을 사용하면 모델을 뷰에 바인딩 할 수 있으며 뷰 자체에 코드가 없습니다. – TGH

+0

여전히 뷰가 필요합니다. 코드가 없다는게 무슨 소리 야? '<% %>'도넛 구멍이있는 기초적인 테이블 일지라도, 여전히 표시 할 항목이 필요합니다. –