-1

すべてのカテゴリを含むサイドメニューを作成しようとしています(後でサブカテゴリを含むサブメニューを作成します)

このコードをオンラインで見つけましたが、何が起こっているのか正確にはわかりません

asp:Repeater id="MenuRepeater" runat="server">
                    <headertemplate>
                        <ul>
                    </headertemplate>
                        <itemtemplate>
                            <li></a></li>
                        </itemtemplate>
                    <footertemplate>
                        </ul>
                     </footertemplate>
                </asp:Repeater>

liタグとLINQを使用して必要なコードの間に何を入力する必要がありますか?

4

1 に答える 1

1

リピーターはDataBoundコントロールであるため、データをバインド/アウトするためにIDataSourceが必要です。データベースからメニューを取得するLINQクエリを記述し、.ToList()メソッドを呼び出してリピーターコントロールにバインドできます。

例えば:

<asp:Repeater id="MenuRepeater" runat="server">
     <headertemplate>
           <ul>
     </headertemplate>
     <itemtemplate>
           <li><%# Bind("MenuItem") %></li>
     </itemtemplate>
     <footertemplate>
           </ul>
     </footertemplate>
</asp:Repeater>

背後のコードで、IQueryableオブジェクトを作成し、次のように.ToList()を呼び出してIListに変換します。

var query = from m in Context
select m.MenuItem;

MenuRepeater.DataSource = query.ToList();
MenuRepeater.DataBind();
于 2012-12-26T19:32:18.640 に答える