簡體   English   中英

ASP.NET包裝了一個asp:HyperLink <li> 從服務器端來的

[英]ASP.NET wrap an asp:HyperLink in <li>'s, from server-side

我有一個菜單項的下一個結構:

class MenuItem
{
    public string Path, Title;
}

我希望能夠迭代MenuItem[]對象,在每次迭代時創建一個新的asp:HyperLink對象,並將其添加到<ul>列表中。

必須發生的一件事是每個HyperLink都在<li>標簽內。

我怎樣才能做到這一點?

您可以使用轉發器。 在aspx中:

<asp:Repeater ID="repMenuItems" runat="server">
    <HeaderTemplate>
        <ul>
    </HeaderTemplate>
    <ItemTemplate>
        <li><asp:HyperLink ID="lnkMenuItem" runat="server" Text='<%# Eval("Title") %>' NavigateUrl='<%# Eval("Path")%>'/></li>
    </ItemTemplate>
    <FooterTemplate>
        </ul>
    </FooterTemplate>
</asp:Repeater>

在代碼隱藏中:

repMenuItems.DataSource = arrMenuItem;  // your MenuItem array
repMenuItems.DataBind();

另外,您應該更改使用公共屬性而不是公共成員的類代碼,如下所示:

public class MenuItem 
{ 
    public string Title {get;set;} 
    public string Path {get;set;} 
}

我建議你閱讀更多關於.NET中的屬性,這是一個很好的對象封裝功能http://msdn.microsoft.com/en-us/library/65zdfbdt(v=vs.71).aspx

希望這對你有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM