使用ItemType进行强类型转发器控制?

时间:2012-09-10 19:58:55

标签: asp.net

好的,所以我查了一些关于强类型转发器控件的很酷的东西......唯一的问题是它不起作用。我有一个List<Entry>,我已经将我的转发器绑定到了。我只是想显示数据。通常我使用((Entry)(Container.DataItem)),但从我读过的内容我可以在ItemType中声明类型。

嗯......这就是我试图做的,但我一无所获。我在这里搞砸了什么?

<asp:Repeater ID="UserRptr" ItemType="HROpenEnrollment.Classes.Entry" runat="server">
    <ItemTemplate>
        <ul class="UserList">
            <li class="CompoundField">
                <%# ???? I can't use Item here. %>
            </li>
        </ul>
    </ItemTemplate>
</asp:Repeater>

我猜它没有找到我的入门级......我怎么能在那里得到它?它位于相同的命名空间中,位于单独的文件夹中。

1 个答案:

答案 0 :(得分:20)

您需要在代码中绑定数据,如下所示:

using (MicroGOVEntities entities = DataEntitiesFactory.GetInstance())
{
    var getGovernments = from g in entities.S_Government 
                         orderby g.DateCreated descending 
                         select g;
    rpData.DataSource = getGovernments.ToList();
}
rpData.DataBind();

ASP.NET代码是:

<asp:Repeater ID="rpData" runat="server"
              ItemType="MicroGOV.Entity.S_Government" 
              OnItemCommand="rpData_ItemCommand">
    <ItemTemplate>
        <td><%#:Item.GovernmentID %></td>
    </ItemTemplate>
</asp:Repeater>