我能为GroupTemplate或ItemTemplate编号吗?

我想使用GroupTemplate将项目列表分成组。 但是,我需要按顺序编号每个组,以便我可以链接到它们并实现一些JS分页。 我绑定到IEnumerable

这是一些伪代码。 我希望输出看起来像这样:

Go to Group 1 Go to Group 2 Go to Group 3 
  • Item
  • Item
  • Item
  • Item
  • Item
  • Item
  • Item
  • Item
  • Item

使用GroupTemplate和ItemTemplate在ListView中这很容易吗?

      <ul id="">     
  • Item
  • 我可以从数据源和基本数学的顶部获取组的数量,但是如何在模板中获得id =“groupN”数?

    我不认为你可以使用DataBind id,所以我可能要么使用隐藏字段,让JQuery计算它们,要么使用CssClass。 您可以使用Container.DataItemIndex来获取您的号码。

    编辑:只需将ul更改为runat =“server”,ASP.NET就会以臭名昭着的INamingContainer格式为您生成一个唯一的ID。 这将包括一个索引,虽然它将类似于lv_ctrl0_group ,并且是一个实现细节。

    您可以将处理程序挂钩到ul的Init事件并向其附加一个数字,使其类似于lv_ctrl0_group1 。 我不认为你可以很容易地摆脱前面的INamingContainer的东西,这可能会破坏任何IPostDataHandler控件。

           
  • Item
  • 在您的aspx文件中:

      

    在你的代码背后(假设C#):

     int _GroupNumber=0; protected string GroupNumber { get { return (++_GroupNumber).ToString(); } } 

    上面Keltex的解决方案可以进行一些小改动; 使用<%=而不是<%#

    <%#不起作用,因为GroupTemplate不支持数据绑定