gpt4 book ai didi

asp.net - 中继器控制。在运行时添加 CssClass

转载 作者:行者123 更新时间:2023-11-28 10:52:15 24 4
gpt4 key购买 nike

我正在尝试根据第三列的值向表格单元格添加一个 css 类

我的标记是...

       <ItemTemplate>
<tr id="row">
<td><%# DataBinder.Eval(Container.DataItem, "Won")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "Lost")%></td>
<td><%# DataBinder.Eval(Container.DataItem, "Result")%></td>
</tr>
</ItemTemplate>

如果 Result 的值为 1,则向 Won 表格单元格添加一个 css 类。

如果 Result 的值为 2,将 css-class 添加到 Lost 表格单元格

我尝试使用中继器控件的 ItemCreated 事件,但完全迷路了!

有什么想法吗?

最佳答案

您必须使用转发器的 ItemDataBound 方法。

编辑:当你想改变 <td> 的类别时,您必须添加属性 runat="server"给它。你的标记可能如下所示:

<asp:Repeater ID="rptMyRepeater" runat="server" OnItemDataBound="rptMyRepeater_ItemDataBound">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem, "Won") %> </td>
<td><%# DataBinder.Eval(Container.DataItem, "Lost") %> </td>
<td runat ="server" id="tdResult"><%# DataBinder.Eval(Container.DataItem, "Result") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>

和代码:

protected void rptMyRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HtmlTableCell tdResult = e.Item.FindControl("tdResult") as HtmlTableCell;
if (DataBinder.Eval(e.Item.DataItem, "Result").ToString() == "1")
{
tdResult.Attributes["class"] = "Won";
}
else if (DataBinder.Eval(e.Item.DataItem, "Result").ToString() == "2")
{
tdResult.Attributes["class"] = "Lost";
}
}
}

关于asp.net - 中继器控制。在运行时添加 CssClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18834203/

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