如何访问aspx页面后面的代码中的List变量

时间:2016-07-19 08:42:36

标签: c# asp.net list repeater code-behind

我有公共课和公开名单。

public List<yahoo> yahooRec = new List<yahoo>();

public class yahoo
{

    public string url { get; set; }
    public string title { get; set; }
   public string descripton { get; set; }
}

我的列表在foreach循环中获取其值。我只是想在转发器中使用我的列表

<asp:Repeater id="Rep" runat="server">
<ItemTemplate>
 <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%= yahoorec.url %>' Text='<%= yahoorec.title %>' />
<p> <%= yahoorec.description %> </p>
</ItemTemplate>
</asp:Repeater>

但它不起作用。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

在aspx.cs页面中使用以下方法

Rep.DataSource = yahooRec;

并在您的aspx页面中

<asp:Repeater ID="Rep" runat="server">
<ItemTemplate>
    <asp:Label ID="Label1" runat="server" Text='<%# Eval("url") %>'></asp:Label>
    <br />
    <asp:Label ID="Label2" runat="server" Text='<%# Eval("title") %>'></asp:Label>
    <br />
    <asp:Label ID="Label3" runat="server" Text='<%# Eval("descripton") %>'></asp:Label>
</ItemTemplate>

答案 1 :(得分:1)

您可以使用:

<asp:Repeater ID="Rep" runat="server">
    <ItemTemplate>
        <a href="<%# Eval("url") %>"><%# Eval("title") %></a>
        <p><%# Eval("Url")%> </p>
    </ItemTemplate>
</asp:Repeater>

或者,您可以挂钩到Rep.ItemDataBound事件,找到您的控件,并在代码隐藏中填充它们。