gpt4 book ai didi

.net - 如何在 (.NET) 中获得替代样式?

转载 作者:行者123 更新时间:2023-11-28 09:01:48 24 4
gpt4 key购买 nike

我正在为这个网站使用 EPiServer。不像asp:DataList , EPiServer:PAgeList 没有AlternatingItemTemplate .

所以我需要创建一个计数器并在我的 <ItemTemplate> 中增加这个计数器, 然后使用模数返回要附加到文章/页面的 css 样式。

模数“代码”- 来自后面的代码:

 return index % 2 == 0 ? "styleA" : "styleB";

但我无法在 <ItemTemplate> 中添加一个计数器并增加它.

非常感谢任何建议!

更新
这是我的 EPiServer 页面列表 Controller :

 <EPiServer:PageList runat="server" id="pageList" SortDirection="Ascending" Count="4" OnDataBinding="pageList_OnDataBinding">
<HeaderTemplate>
<ul id="articleList1">
</HeaderTemplate>

<ItemTemplate>
<li>
<h2><a href="<%# Eval("LinkURL") %>" title="<%# Eval("PageName") %>"><EPiServer:Property id="Property1" PropertyName="PageName" runat="server" /></a></h2>
<div class="articleImage">
<%# ArticleImage(Container.CurrentPage)%>
</div>
<div class="introText">
<%# IntroText(Container.CurrentPage)%>
</div>
<div class="readMore floatRight"><a href="<%# Eval("LinkURL") %>" title="<%# Eval("PageName") %>">Les mer</a></div>
</li>
</ItemTemplate>

<FooterTemplate>
</ul>
</FooterTemplate>
</EPiServer:PageList>

回答
我认为使用 jQuery 比使用 .NET 简单得多。这不是我的首选解决方案,但它确实有效。我使用的代码是这样的:

if (jQuery("#articleList1").length > 0) {
jQuery('li:odd').addClass("odd");
}

最佳答案

对于中继器,我这样做:-

<itemtemplate>
<tr class='<%#(Container.ItemIndex % 2 == 0) ? "odd" : "even" %>'>

EDIT 为元素数据绑定(bind)事件跟踪行计数器...

private int counter;
protected void list_databound(object sender, RepeaterItemEventArgs e)
{
if ((e.Item.ItemType == ListItemType.Item) || ((e.Item.ItemType == ListItemType.AlternatingItem))
{
counter++;
//find server control and use counter as modulus
}
}

编辑 到这里...哎呀需要成为一个 HtmlTableRow!!

HtmlTableRow row = e.Item.FindControl("row") as HtmlTableRow;
if (row != null)
row.Attributes.Add("class", ((counter % 2 == 0) ? "odd": "even") );

你还需要这个

<tr id="row" runat="server" ...

关于.net - 如何在 <ItemTemplate> (.NET) 中获得替代样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1915958/

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