【发布时间】:2012-05-06 08:40:16
【问题描述】:
我正在尝试更改中继器中的值:(通过 itemdatabound 事件)
如果年份为空 - 设置值blabla
我的中继器:
<ItemTemplate>
<tr >
<td >
<%#Eval("year") %>
</td>
我的 C# 代码:
void RPT_Bordereaux_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (string.IsNullOrEmpty(((DataRowView)e.Item.DataItem)["year"].ToString()))
{
(((DataRowView)e.Item.DataItem)["year"]) = "blabla"; // ???????
}
}
它确实改变但不显示在转发器中(显示旧值)。
一种解决方案是在itemTemplate 中添加server control 或literal(runat 服务器) - 并在服务器中添加“findControl” - 并更改其值。
其他解决方案是通过 jQuery - 搜索空的最后一个 TD。
但是 - 我的问题:
还有其他服务器端解决方案吗()?
【问题讨论】:
标签: c# asp.net webforms repeater itemdatabound