中继器不会出现

时间:2018-05-08 10:31:02

标签: c# asp.net webforms

以下代码应该显示转发器中的网站列表,但它没有(尽管我没有错误): 在aspx文件中我有:

<div>
    <asp:Repeater ID="Rpt1" Visible="true" runat="server"></asp:Repeater>
    <ItemTemplate> 
        <asp:HyperLink runat="server" Text = '<%# DataBinder.Eval(Container.GetDataItem(), "Key") %>' 
                       NavigateUrl= '<%#DataBinder.Eval(Container.GetDataItem(), "Value") %>'>
        </asp:Hyperlink>
    </ItemTemplate>           
</div>

在背后的代码中:

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack) return;
    CaricaSiti();
}

protected void CaricaSiti()
{
    ListDictionary L = new ListDictionary();

    L.Add("google", @"http://google.com");
    L.Add("microsoft", @"http://microsoft.com");
    L.Add("yahoo", @"http://yahoo.com");

    Rpt1.DataSource = L;
    Rpt1.DataBind();
}

1 个答案:

答案 0 :(得分:3)

转发器的ItemTemplate必须在转发器的里面: - )

<asp:Repeater ID="Rpt1" Visible="true"  runat="server">

      <ItemTemplate> 
            <asp:HyperLink runat="server" Text = '<%# DataBinder.Eval(Container.DataItem, "Key") %>' 
             NavigateUrl= '<%#DataBinder.Eval(Container.DataItem, "Value") %>'>

            </asp:Hyperlink>
     </ItemTemplate>

</asp:Repeater>