2

GroupTemplate を使用して、アイテムのリストをグループに分けたいと思います。ただし、グループにリンクして JS ページングを実装できるように、各グループに順番に番号を付ける必要があります。私はIEnumerableにバインドしています

ここにいくつかの擬似コードがあります。出力を次のようにしたいと思います。

<a href="#group1">Go to Group 1<a>
<a href="#group2">Go to Group 2<a>
<a href="#group3">Go to Group 3<a>

<ul id="group1">
    <li>Item</li>
    <li>Item</li>
    <li>Item</li>
</ul>
<ul id="group2">
    <li>Item</li>
    <li>Item</li>
    <li>Item</li>
</ul>
<ul id="group3">
    <li>Item</li>
    <li>Item</li>
    <li>Item</li>
</ul>

GroupTemplate と ItemTemplate を使用して、ListView でこれを行うのは簡単ですか?

<asp:ListView ID="lv" runat="server" GroupPlaceholderID="groupPlaceholder">
    <LayoutTemplate>
        <asp:PlaceHolder ID="groupPlaceholder" runat="server"></asp:PlaceHolder>
    </LayoutTemplate>
    <GroupTemplate>
        <ul id="<!-- group-n goes here -->">
            <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
        </ul>
    </GroupTemplate>
    <ItemTemplate>
        <li>Item</li>
    </ItemTemplate>
</asp:ListView>

データソースと基本的な計算から上部のリンクを実行するグ​​ループの数を取得できますが、テンプレートにid="groupN"番号を取得するにはどうすればよいですか?

4

3 に答える 3

1

上記のKeltexのソリューションは、小さな変更で機能します。代わりに< %=を使用してください<%#

<%#はGroupTemplateがデータバインディングをサポートしていないため、機能しません

于 2010-03-28T12:18:49.990 に答える
1

aspx ファイルで:

<GroupTemplate>
  <ul id='<%# "group"+GroupNumber %>'>
    <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
  </ul>
</GroupTemplate>

コードビハインド (C# を想定):

int _GroupNumber=0;

protected string GroupNumber
{
   get { return (++_GroupNumber).ToString(); }
}
于 2009-03-24T00:25:02.223 に答える