1

メニュー項目の次の構造があります。

class MenuItem
{
    public string Path, Title;
}

のオブジェクトを反復処理し、反復ごとにMenuItem[]の新しいオブジェクトを作成して、それをリストに追加できるようにしたいと思います。asp:HyperLink<ul>

発生しなければならないことの1つは、各ハイパーリンクが<li>タグ内にあることです。

どうやってやるの?

4

1 に答える 1

3

リピーター様ご利用頂けます。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

これがお役に立てば幸いです

于 2012-12-28T19:32:14.490 に答える