1

データベースのデータにバインドされたリピーター コントロールを作成しようとしています。これは、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>
4

2 に答える 2

0

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

            <ItemTemplate>      
                <ul>      
                    <li><% DataBinder.Eval(rpt.DataSource, "FieldName")%></li>      
                </ul>      
            </ItemTemplate> 
于 2010-12-12T17:23:39.490 に答える
0

null 参照でリピーターを上書きしています:

Dim rptRepeater As Repeater = Nothing

それを行うべきではありません-その行を削除すると、期待どおりに機能するはずです。

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

データ モデルについて詳しく知らなければ、これ以上の回答はできません。

于 2010-12-12T17:13:29.287 に答える