Создание повторителя с использованием BLL - PullRequest
1 голос
/ 12 декабря 2010

Я пытаюсь создать элемент управления повторителем, связанный с данными моей базы данных.Это следует использовать с 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

Код, который я использовал на странице.aspx:

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

Ответы [ 2 ]

0 голосов
/ 12 декабря 2010

Вам необходимо сослаться на свои поля данных в шаблоне Item, используя метод DataBinder.Eval .
Что-то вроде ...

            <ItemTemplate>      
                <ul>      
                    <li><% DataBinder.Eval(rpt.DataSource, "FieldName")%></li>      
                </ul>      
            </ItemTemplate> 
0 голосов
/ 12 декабря 2010

Вы перезаписываете свой ретранслятор нулевой ссылкой:

Dim rptRepeater As Repeater = Nothing

Вы не должны этого делать - удалите эту строку, и все должно работать как положено.

Кроме того, вы должны привязать коллекцию к повторителю и использовать выражения привязки данных для отображения данных в самом повторителе.

Не зная больше о вашей модели данных, я не могу дать вам лучший ответ.

...