2011-07-19 21 views
0

Entity Dataフレームワークおよびラムダ照会を初めて使用しました。リピーターへの照会結果のバインド

私がしようとしているのは、「連絡先」のリストを選択し、それをグリッドまたはリピーターにバインドすることです。

ただし、私のクエリは連絡先レコードを取得できるという点では機能しますが、リピータにバインドすることはできません。私がすると、 "オブジェクト参照はオブジェクトのインスタンスに設定されていません"と表示されます。

私が間違っていることを教えてもらえますか?

IQueryable<Contact> contactsQuery = from c in cc.Contacts 
from g in c.ContactGroups 
where g.GroupNameID == 1 
select c; 

MyRepeater.DataSource = contactsQuery; 
MyRepeater.DataBind(); 

問題のコードがスローされ、データソースの指定行に:

MyRepeater.DataSource = contactsQuery; 

答えて

1

この例外は、あなたの連絡先クラス内のどこかからスローされます。プロパティのマッピングとnull可能なプロパティを見てみると、問題が存在する可能性が最も高いです。あなたがリピータコンテンツおよびバインドを追加する必要が

1

...

<asp:Repeater runat="server" ID="rptContents"> 
     <HeaderTemplate> 
      <table width="100%" cellpadding="0" cellspacing="0"> 
     </HeaderTemplate> 
     <ItemTemplate> 
      <tr> 
       <td> 
        <asp:Label ID="lblCont" runat="server" Text='<%#Eval("Contents") %>'></asp:Label> 
       </td> 
      </tr> 
     </ItemTemplate> 
     <FooterTemplate> 
      </table> 
     </FooterTemplate> 
    </asp:Repeater> 
関連する問題