2010-12-12 8 views
1

私のデータベースのデータでバインドされたリピーターコントロールを作成しようとしています。 これはBLLで使用する必要があります。 しかし、私は何をしなければならないのか分かりません。BLLを使用してリピーターを作成する

私は、誰かがこれで私を助けることができると思います。..

私はpage.aspx.vbで使用されるコードは次のとおりです。

Public Function showRepeater() 
    Try 
     ' 1 - BLL 
     Dim BLLVragenRepeater As New VraagBLL 

     ' 2 - Getting all topics 
     Dim alleVragenRepeater As Dataset.tblVragenDataTable 
     alleVragenRepeater = BLLVragenRepeater.getVraagByTopicId(5) 

     ' 3 - creating repeater and binding with data 
     Dim rptRepeater As Repeater = Nothing 
     rptRepeater.DataSource = BLLVragenRepeater.getVraagByTopicId(5) 
     rptRepeater.DataBind() 

     ' 4 - show repeater in placeholder 
     plcRepeater.Controls.Add(rptRepeater) 
    Catch ex As Exception 
     lblFeedback.Text = ex.Message 
    End Try 
End Function 

私はpage.aspxで使用されるコードは次のとおりです。

<asp:PlaceHolder ID="plcRepeater" runat="server"> 
    <asp:Repeater ID="rptRepeater" runat="server"> 
    <ItemTemplate> 
     <ul> 
     <li></li> 
     </ul> 
    </ItemTemplate> 
    </asp:Repeater> 
</asp:PlaceHolder> 

答えて

0

DataBinder.Eval Methodを使用してItemTemplateのDataFieldを参照する必要があります。
のような何か...

  <ItemTemplate>  
       <ul>  
        <li><% DataBinder.Eval(rpt.DataSource, "FieldName")%></li>  
       </ul>  
      </ItemTemplate> 
0

あなたはnull参照を使用してリピーターを上書きされています

Dim rptRepeater As Repeater = Nothing 

あなたはそうしてはいけません - その行を削除すれば、物事は期待通りに動くはずです。

さらに、リピータにデータを表示するには、コレクションをリピータにバインドし、data binding expressionsを使用する必要があります。

データモデルについて詳しく知りませんが、私はあなたに良い答えを与えることはできません。

+0

ありがとう!今私はそれを得る! –

関連する問題