2010-12-12 29 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中引用您的DataFields。
喜欢的东西...

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

您与空引用覆盖你的中继:

Dim rptRepeater As Repeater = Nothing 

你不应该这样做 - 删除该行,事情应该按预期工作。

此外,您应该将集合绑定到中继器,并使用data binding expressions以便在中继器本身中显示数据。

不知道更多关于您的数据模型,我不能给你一个更好的答案。

+0

谢谢!现在我懂了! – 2010-12-12 18:20:41