2012-03-30 14 views
0

私は、MVCデザインパターンとLinqToSqlデータへのアクセスが比較的新しいです。基本的には、MVCの概念を利用して(Linq2Sql DataContextに格納されている)データにアクセスし、その結果をgridviewに取り込みたいと考えています。コードビハインドファイルはMVCの目的を打ち負かすので、どこでデータをSELECTするためにlinqクエリを配置し、それをgridviewにバインドしますか?MVC2のLinqToSql DataLayerへのアクセス

これは、SELECTのために私のコードです: ます。public void getBills(){

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

    } 

私は、コントローラでこれを入れて試みたが、明らかに、コントローラからの私のGridViewオブジェクトをつかむことはできません。私はそのビューにコードビハインドファイルをストラップしてそこから移動しないように努力しています。うまくいけば、誰かがこれを達成するためのベストプラクティスを明らかにすることができます。

+0

'GridView'。 GridViewsは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コードを含むRepositoryクラスを作成し、モデルオブジェクトを返すことができます。あなたは、コントローラからこのリポジトリクラスを呼び出し、ビューにモデルを渡すことができ

と呼ばれる方法GetBillItems(..)と 例BillingRepository

public ActionResult BillItems() 
{ 
    BillingRepository repository = new BillingRepository(); 
    var model = repository.GetBilItems(); 
    return View(model); 
} 
あなたは表の足場、ないとビューを使用することになります
+0

ASP.NET MVCにGridViewがないことを彼に説明する必要があります。私はその答えを書く過程にある。あなたは彼に言いたいのですか、私は答えを記入しますか? :) –

+0

この方法でモデルをビューにバインドでき、ビュー自体にコードはありません – TGH

+0

ビューが必要です。コードは何を意味するのですか? '<% %>'ドーナツホールを持つ基本的なテーブルであっても、それを表示するには何かが必要です。 –