gpt4 book ai didi

c# - 我可以对 GroupTemplate 或 ItemTemplate 进行编号吗?

转载 作者:行者123 更新时间:2023-12-03 05:23:54 24 4
gpt4 key购买 nike

我想使用 GroupTemplate 将项目列表分成组。但是,我需要按顺序对每个组进行编号,以便我可以链接到它们并实现一些 JS 分页。我正在绑定(bind)到 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" 数字添加到模板中?

最佳答案

我认为您无法对 id 进行 DataBind,因此我可能会使用隐藏字段,让 JQuery 对它们进行计数,或者使用 CssClass。您可以使用Container.DataItemIndex来获取您的号码。

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

您可以将处理程序挂接到 ul 的 Init 事件,并向其附加一个数字,使其类似于 lv_ctrl0_group1。我认为您无法轻松地摆脱前置的 INamingContainer 内容,这可能会破坏任何 IPostDataHandler 控件。

<script runat="server">
void Group_Init(object sender, EventArgs e) {
((Control)sender).ID += groupId++.ToString();
}
int groupId = 0;
</script>

<asp:ListView id="lv" runat="server" GroupItemCount="3">
<LayoutTemplate>
<asp:PlaceHolder ID="groupPlaceHolder" runat="server" />
</LayoutTemplate>
<GroupTemplate>
<ul id="group" runat="server" oninit="Group_Init">
<asp:PlaceHolder ID="itemPlaceHolder" runat="server"/>
</ul>
</GroupTemplate>
<ItemTemplate>
<li>Item</li>
</ItemTemplate>
</asp:ListView>

关于c# - 我可以对 GroupTemplate 或 ItemTemplate 进行编号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/675474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com