gpt4 book ai didi

c# - 转发器 ItemTemplate 服务器端

转载 作者:行者123 更新时间:2023-11-30 13:05:45 27 4
gpt4 key购买 nike

我在访问 HTML 元素时遇到问题。在服务器端,这些元素存在于转发器控件的 itemTemplate 中。

简单代码:

    <asp:Repeater ID="rptList" runat="server" onitemcreated="rptList_ItemCreated">
<HeaderTemplate>
<div id="accordionGiftLelo">
</HeaderTemplate>
<ItemTemplate>


<div class="set">
<div class="title"><img src='<%# Eval("TitleImgUrl")%>' runat="server" width="198" height="29" /></div>
<div ID="RepeaterBG" class="content" style="background-color:<%# Eval("ContentBackground")%>">
<%--<a href='<%# Eval("ContentUrl")%>'><img src='<%# Eval("ContentImgUrl")%>' alt="Embroidered Devil Eyes" width="198" height="198" border="0" /></a>--%>
<div style="width:198"><asp:Literal ID="Literal1" runat="server" Text='<%# Eval("ContentImgUrl")%>'></asp:Literal></div>
</div>
</div>

</ItemTemplate>

<FooterTemplate>
</div>
</FooterTemplate>

</asp:Repeater>

例如,如何访问 RepeaterBG div?

最佳答案

这是一个关于如何访问控件服务器端并将数据应用于它们的示例。确保将 RunAt="server"添加到 div 标记。

为 ItemDataBound 事件添加引用

rptList.ItemDataBound += rptList_ItemDataBound;

private void rptList_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) return;

HtmlControls.HtmlGenericControl RepeaterBG = (HtmlControls.HtmlGenericControl)e.Item.FindControl("RepeaterBG");

Data.DataRowView dr = (Data.DataRowView)e.Item.DataItem;

RepeaterBG.Style.Add("background-color", dr("ContentBackground"))
}

您会发现,如果您对所有控件执行此操作,而不是使用“<%# Eval”,您的代码将更易于维护。

关于c# - 转发器 ItemTemplate 服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3293739/

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