我嘗試改變我的中繼器內的值:(通過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"; // ???????
}
}
它確實改變了,但沒有顯示在中繼器上(顯示舊值)。
一個解決方案是增加一個或server control
literal
(RUNAT服務器)在itemTemplate
- 在服務器並以「findControl
」 - 和改變其值。
其他解決方案是通過jQuery - 搜索空的最後一個TD。
但 - 我的問題:
是否有任何其他服務器端溶液()?
我傻,我怎麼沒想到它...... - 想我是太執着了datarowview類... –
看看這裏:http://stackoverflow.com/questions/9820464/got-anyway-i-set-class-inside-repeater-datarow-find-by-data-id-when-do -postback。同樣的東西你想要的 – Jigs
它是不一樣的 - 他只是讀不設置。 –